[英]WPF XAML No textbox display when binding
我在一個簡單的文本框中無法顯示我想要的內容時遇到了困難。 基本上,我有一個來自此數據文件xml的分組列表框:
<Hosts>
<Host foo="aaa">
<usable>1</usable>
</Host>
<Host foo="bbb">
<usable>1</usable>
</Host>
</Hosts>
我有以下代碼:
<CollectionViewSource x:Key="cvs"
Source="{Binding Source={StaticResource HostsData}}">
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="@foo" />
</CollectionViewSource.GroupDescriptions>
</CollectionViewSource>
<DataTemplate x:Key="categoryTemplate">
<TextBlock Text="test"
FontWeight="Bold"
Background="Gold"
Margin="0,5,0,0" />
</DataTemplate>
...
<ListBox Name="myList"
Grid.Row="0"
Grid.Column="1"
TextBlock.FontSize="9"
Margin="2"
ItemsSource="{Binding Source={StaticResource cvs}}"
ItemTemplate="{StaticResource MachinesTemplate}">
<ListBox.GroupStyle>
<GroupStyle HeaderTemplate="{StaticResource categoryTemplate}" />
</ListBox.GroupStyle>
</ListBox>
所以我有分組列表框,但是測試框內容為空。 它是“ gold”,如果我設置Text =“ test”,它會按照預期的方式加粗,但是我無法顯示“ foo ”內容(aaa,bbb)。
到目前為止,我已經嘗試過各種綁定方法,但均未成功。
要獲取匹配屬性的文本,您需要綁定到GroupStyle HeaderTemplate內部的Name屬性:
<TextBlock Text="{Binding Path=Name}" ... />
到此為止,假設您所有的XPath都正常工作,這是另外一系列問題。 這是一個完整的簡化示例,其中包含代碼中的相關部分:
<Grid>
<Grid.Resources>
<XmlDataProvider x:Key="HostsData"
XPath="//Host">
<x:XData>
<Hosts xmlns="">
<Host foo="aaa">
<usable>1</usable>
</Host>
<Host foo="bbb">
<usable>1</usable>
</Host>
</Hosts>
</x:XData>
</XmlDataProvider>
<CollectionViewSource x:Key="cvs"
Source="{Binding Source={StaticResource HostsData}}">
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="@foo" />
</CollectionViewSource.GroupDescriptions>
</CollectionViewSource>
<DataTemplate x:Key="categoryTemplate">
<TextBlock Text="{Binding Path=Name}"
FontWeight="Bold"
Background="Gold"
Margin="0,5,0,0" />
</DataTemplate>
</Grid.Resources>
<ListBox Name="myList"
ItemsSource="{Binding Source={StaticResource cvs}}">
<ListBox.GroupStyle>
<GroupStyle HeaderTemplate="{StaticResource categoryTemplate}" />
</ListBox.GroupStyle>
</ListBox>
</Grid>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.