コンポーネントのラインナップDatatriggerない焼成が期待される場合、
-
01-07-2019 - |
質問
私は、以下のー:
<TextBlock Text="{Binding ElementName=EditListBox, Path=SelectedItems.Count}" Margin="0,0,5,0"/>
<TextBlock Text="items selected">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=EditListBox, Path=SelectedItems.Count}" Value="1">
<Setter Property="TextBlock.Text" Value="item selected"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
最初のテキストブロックで楽しく変化すSelectedItems.カウントを示0,1,2。のdatatriggerの秒ブロックさせて火をテキストを変更します。
意思い?
解決
のDataTriggerは、焼成のためのテキストフィールド第二のTextBlockはハードコーディングとしての"項目の選択"ではできない。で焼成、削除できるテキスト="項目を選択".
また問題の良い候補者を ValueConverter の代わりに DataTrigger.これがその方法を作成しご利用のValueConverterてのテキストと考えている。
こValueConverter:
public class CountToSelectedTextConverter : IValueConverter
{
#region IValueConverter Members
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if ((int)value == 1)
return "item selected";
else
return "items selected";
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
#endregion
}
追加の名前空間を参考に組み立てのコンバーターに位置:
xmlns:local="clr-namespace:ValueConverterExample"
追加のコンバーターへの資源
<Window.Resources>
<local:CountToSelectedTextConverter x:Key="CountToSelectedTextConverter"/>
</Window.Resources>
の変更第二textblock:
<TextBlock Text="{Binding ElementName=EditListBox, Path=SelectedItems.Count, Converter={StaticResource CountToSelectedTextConverter}}"/>
他のヒント
また、お客様の代替が可能になるかもしれなおーとす:
<TextBlock Margin="0,0,5,0" Text="{Binding ElementName=EditListBox, Path=SelectedItems.Count}"/>
<TextBlock>
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Text" Value="items selected"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=EditListBox, Path=SelectedItems.Count}" Value="1">
<Setter Property="Text" Value="item selected"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
コンバータを解決できる多くの結合に問題が有する多くの専門コンバータが非常に厄介.
所属していません StackOverflow