トップページ > プログラム > 2014年10月19日 > SF+BcaTz

書き込み順位&時間帯一覧

66 位/176 ID中時間01234567891011121314151617181920212223Total
書き込み数0000100000000000000000001



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part18

書き込みレス一覧

WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part18
92 :デフォルトの名無しさん[]:2014/10/19(日) 04:14:51.93 ID:SF+BcaTz
ConvertTaiju呼び出しはかなり重い処理なので、タブBが選択されている時だけPerson変更によって実行させたいです。そもそも非表示になっているタブの中のBindingを取得させたくないです。
<TabControl>
<TabItem Header="タブA" />中身省略
<TabItem Header="タブB" DataContext="{Binding Person}">
<TextBlock Text="{Binding Taiju,Converter={StaticResource ConvertTaiju}}" />
</TabItem>
</TabControl>

一応さっき思いついた下記の方法で達成出来ます。TriggerでDataContextを変えます。
選択されていなければ{Binding Taiju}は上位のDataContextから得ようとも見つからないためConvertTaijuは呼び出されません。
出力にSystem.Windows.Data Error: 40が出ます。もっとましな方法があれば教えて下さい。

<TabControl>
<TabItem Header="タブA" />中身省略
<TabItem Header="タブB">
<TabItem.Style>
<Style>
<Style.Triggers>
<Trigger Property="TabItem.IsSelected" Value="True">
<Setter Property="TabItem.DataContext" Value="{Binding Person}"></Setter>
</Trigger>
</Style.Triggers>
</Style>
</TabItem.Style>
<TextBlock Text="{Binding Taiju,Converter={StaticResource ConvertTaiju}}" />
</TabItem>
</TabControl>


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。