簡體   English   中英

ListView ItemsSource綁定

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM