1
我正在處理一個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