MultiValueConverter从ObservablleCollection读取
问题描述:
我正在处理一个wpf mvvm项目。在用户控件中,我有一个来自Devexpress的datagridControl,它绑定到来自Observable集合的数据。MultiValueConverter从ObservablleCollection读取
<xcdg:DataGridControl x:Name="DataGridName" HorizontalAlignment="left" VerticalAlignment="Stretch"
AutoCreateColumns="False"
ItemsSource="{Binding ViewModel.Items}"
ItemScrollingBehavior="Immediate" SynchronizeCurrent="True" TabIndex="69" >
<xcdg:DataGridControl.Columns >
<xcdg:Column FieldName="Name" AllowSort="False" Title="Name" ShowInColumnChooser="False" />
</xcdg:DataGridControl.Columns>
</xcdg:DataGridControl>
Observable集合中的类包含Name(字符串)和IsVerified(Boolean)。
private ObservableCollection<myData> _items = new ObservableCollection<myData>();
public ObservableCollection<myData> Items
{
get { return _items; }
set { _items = value; }
}
public class myData
{
public string Name { get; set; }
public bool IsVerfied { get; set; }
}
我也有,我使用显示数据网格以上的错误消息时IsVerfied的值是FALSE一个文本块。
<TextBlock Name="textBlockErrrMessage" Foreground="IndianRed">
<TextBlock.Text>
<MultiBinding Converter="{StaticResource MultiValueConverter}">
<Binding Path="DataContext.IsVerified" RelativeSource="{RelativeSource AncestorType=xcdg:DataRow}" ElementName="DataGridName" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
要做到这一点,我计划在具有multivalueconverter(我也是做同样的事情,但对于不同的控制,这就是为什么我选择MultiValueConverter),我想从收藏送IsVerfied值并返回消息。我的问题是如何设置MultiBinding中的绑定从Observablecollection中读取IsVerfied值。这种特殊的线是什么,我相信是在定位收藏价值
<Binding
Path="DataContext.IsVerified"
RelativeSource="{RelativeSource AncestorType=xcdg:DataRow}"
ElementName="DataGridName" />
你还没有告诉这个文本块放在哪里,相对于数据网格。 – Aybe
获取绑定的Textblock在不同的usercontrol – ZoHen
您绑定到'DataContext.IsVerified',但您确定数据上下文是'myData'的一个实例吗?另外检查VS中的输出窗口以发现绑定错误。 – Aybe