[英]ListView ItemsSource binding
我有3列的ListView:
<ListView ItemsSource="{Binding ParamName}" HorizontalAlignment="Left" Height="109" Margin="10,87,0,0" VerticalAlignment="Top" ScrollViewer.HorizontalScrollBarVisibility="Disabled" Width="281">
<ListView.View>
<GridView>
<GridView.ColumnHeaderContainerStyle>
<Style TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="IsEnabled" Value="False"/>
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="TextElement.Foreground" Value="Black"/>
</Trigger>
</Style.Triggers>
</Style>
</GridView.ColumnHeaderContainerStyle>
<GridViewColumn Header="Name" Width="60"/>
<GridViewColumn Header="Type" Width="60"/>
<GridViewColumn Header="Content" Width="156"/>
</GridView>
</ListView.View>
</ListView>
當前,我已將ParamName
設置為我的ItemsSource,顯然,這種方式將無法實現所需的結果。
在我的ViewModel,我已經為每列ObservableCollections( ParamName
的名稱, ParamType
的類型和ParamContent
的內容)。 這些ObservableCollections已正確填充,並且我能夠通過Binding接收它們的數據,但無法用各自的數據填充列。
我已經考慮過某些可能的解決方案,但是似乎沒有一個可行。 解決此問題的最佳方法是什么?
這是它的外觀(左)和外觀(右):
在它們的類型之后命名它們可能會有些混亂。
您有三個集合,但是只有一個被綁定。 因此,所有列都具有相同的值。 嘗試創建一個包含所有所需內容的集合:
ObservableCollection<MyRow>
其中MyRow
是具有所需屬性的類或結構。
如果您已經有了這些Collections-請嘗試將其連接到一個主要Collections上,並告訴GridColumns您希望將哪些屬性綁定到每個Column,但是我不確定ObservableCollections是否可行-如果它們的長度不同怎么辦?
而且您仍然可以從這三個中創建自己的收藏集-只需對其進行解析...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.