我在ControlTemplate
中使用ValueToVisibilityConverter : IMultiValueConverter
,它有一个Image
和一个ComboBox
。 ComboBox
被绑定到一个字符串列表。 而ValueToVisibilityConverter
适用于图像MultiBinding
到ComboBox
属性SelectedText
和Text
。如何将IMultiValueConverter与Image控件中的单独列表一起使用?
我想检查一下SelectedText
/Text
是否存在于一个列表中,如果没有则显示图像。 它正在与绑定到ComboBox
的列表正常工作,但我必须检查另一个列表中的值。任何人都可以请让我如何做到这一点?
我的代码是:
<ControlTemplate x:Key="ChannelGroupControlTemplate" TargetType="{x:Type igEditors:XamTextEditor}">
<Microsoft_Windows_Themes:ListBoxChrome x:Name="BorderContainer">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Image Grid.Column="0" Source="/Sample;component/Resources/Images/ErrorProvider.png" ToolTip="{l:Localize This item is not found in the system}" HorizontalAlignment="Left"
Focusable="False" VerticalAlignment="Center">
<Image.Visibility>
<MultiBinding Converter="{StaticResource ValueToVisibilityConverter}" >
<Binding ElementName="comboBox" Path="SelectedValue"/>
<Binding ElementName="comboBox" Path="Text"/>
</MultiBinding>
</Image.Visibility>
</Image>
<ComboBox Name="comboBox"
IsEditable="True"
ItemsSource="{Binding Source={x:Static BasicEditors:DSTChannelGroupViewModel.TypeValues}}"
Grid.Column="1" Margin="0" Padding="1" BorderThickness="0" Background="Transparent"/>
</Grid>
</Microsoft_Windows_Themes:ListBoxChrome>
</ControlTemplate>
我要检查SelectedText字符串名为AllTypeValues的其他列表。如何在转换器中使用这个列表来做同样的事情? –
其他列表在哪里?您试图在视图中解决这个问题,但也许它应该是ViewModel对处理的责任? – franssu