Hyperlink にバインディングする
こんばんは、siokoshou です。.NET Framework 3.5 SP1 の自動更新が太平洋標準時刻 1/27 に予定されているそうです。11月と言ってたけど、SP1 に対するパッチが遅れているんでしょうか。2.0 や 3.0 も更新されると思うので、ご注意を。
さて、Hyperlink は Command が呼べるのでとても重宝します。しかーし!Hyperlink は文字列をバインディングで設定できません!ぐぐってみるといくつか対処が見つかりました。Hyperlink の中に Textblock を入れる、または、Button のコンテンツを Hyperlink にする、だそうな。
XAML: <Window x:Class="Hyperlink.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Height="300" Width="300"> <TextBlock> <Hyperlink> <TextBlock Text="{Binding}" /> </Hyperlink> </TextBlock> </Window> C#: using System.Windows; namespace Hyperlink { public partial class Window1 : Window { public Window1() { InitializeComponent(); this.DataContext = "Don't throw shoes."; } } }
あまりスマートじゃない気もするけど、まあいっか。