[英]Binding Data Template element to property on sub-class
我有一個類,出於實驗目的,將其稱為foo(),將另一個類稱為bar()
我在xaml中定義了foo()類的數據模板,但是foo()的屬性之一是bar()對象,這樣
foo()
{
Public string Name {get; set;}
Public int ID {get; set;}
Public bar barProp {get; set;}
}
和
bar()
{
Public string Description{get; set;}
}
我希望我的foo數據模板顯示bar的Description屬性。 我已經嘗試過簡單的<textblock Text="{Binding Path=barProp.Description}" />
及其變體都無濟於事
尋求智慧,
DJ
編輯:根據更多信息的要求...
這是我真正的課...
public class AccountRecord
{
public string Value { get; set; }
public string Identifier { get; set; }
public Field AccountNumber;
}
public class Field
{
public string Name{get;set;}
public string Value{get;set}
}
這是用於將它們模板化的XAML ...
<ListBox Margin="0,35,0,0" Name="listAccountRecords" Background="Transparent" BorderBrush="Transparent" ItemsSource="{Binding AccountRecords, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}">
<ListBox.ItemTemplate>
<DataTemplate DataType="{x:Type lib:AccountRecord}">
<Expander Header="{Binding AccountNumber.Name}">
<ListView ItemsSource="{Binding Fields}" ItemTemplate="{DynamicResource FieldTemplate}">
</ListView>
</Expander>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
確切的問題是AccountNumber.Name值未顯示在AccountRecord元素的擴展器頭中
您的“ AccountNumber”成員(類型為“ Field”)只是一個字段,而不是屬性。 您只能綁定到屬性。 給它一個吸氣和塞特,它會開始工作。
嘗試這個
<textblock Text="{Binding Path=FooObjectName.barProp.Description}" />
希望這會工作..祝你好運!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.