0
私は私がfirstNameのテキストボックスのテキスト 別にアスタリスクを追加したい私は、テキストボックスがfirstNameの にバインドされているのItemsControlのItemTemplateににあるいくつかのオブジェクト のコレクションにバインドされたのItemsControlを持っていますコメントのテキストブロックが更新されますWPFの変更
どうすればいいですか?
私は私がfirstNameのテキストボックスのテキスト 別にアスタリスクを追加したい私は、テキストボックスがfirstNameの にバインドされているのItemsControlのItemTemplateににあるいくつかのオブジェクト のコレクションにバインドされたのItemsControlを持っていますコメントのテキストブロックが更新されますWPFの変更
どうすればいいですか?
「コメント」がアイテムレベルまたはglobalyの情報であるかどうか、「ミステリー」textBlockのソースアップデート(直接バインドするのには適していません) アスタリスクが必要な場合は
<ItemsControl>
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock>
<TextBlock.Text>
<MultiBinding>
<MultiBinding.Converter>
<local:IsCommentConverter />
</MultiBinding.Converter>
<Binding Path="FirstName" />
<Binding ElementName="txtBlockComment" Path="Text" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
非常にシンプルコンバータ:
public class IsCommentConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
var firstName = (string)values[0];
var commnet = (string)values[1];
return string.IsNullOrEmpty(commnet) ? firstName : firstName + "*";
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
(\視認を非表示にするには、トリガとそうでない場合は、別々の要素で、その可能性)結合文字列の、あなたは
Converter
で
MultiBinding
を使用する必要があります