#c# #wpf #binding #wpfdatagrid
#c# #wpf #привязка #wpfdatagrid
Вопрос:
У меня есть это в моем Xaml, я передаю значение, выделенное для изменения цвета ячейки сетки. Но я хочу одновременно проверить введенное значение переменной, чтобы я мог изменить его в соответствии с этим.Как я могу передать 2 значения, чтобы у меня были условия для моего класса iconverter.
<DataGridTextColumn Binding="{Binding Allocated}" Header="Allocated" >
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Background" Value="{Binding Allocated, Converter={StaticResource converter}}"/>
</Style>
</DataGridTextColumn.ElementStyle> </DataGridTextColumn>
мой класс Converter:
объект IValueConverter.Преобразовать (значение объекта, тип TargetType, параметр объекта, System.Глобализация.CultureInfo культура){
string input = value.ToString();
switch (input)
{
case "99":
return Brushes.Green;
case "96":
return Brushes.Green;
case "91":
default:
return DependencyProperty.UnsetValue;
}
}
Цитата из блока
Заранее спасибо!
Ответ №1:
Используйте MultiBinding
:
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Background">
<Setter.Value>
<MultiBinding Converter="{StaticResource converter}">
<Binding Path="Allocated" />
<Binding Path="Entered" />
</MultiBinding>
</Setter.Value>
</Setter>
</Style>
</DataGridTextColumn.ElementStyle>
и аналогично вашей convet реализации IMultiValueConverter
:
public class MyConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType,
object parameter, CultureInfo culture)
{...
Комментарии:
1. Спасибо … Это работает, я новичок в wpf и не знал о множественной привязке.