-1
我有兩個列表視圖並排顯示相同的數據在不同的角度。WPF同步項目位置和大小之間的兩個列表視圖
每次添加數據條目時,我在兩個ListView中的相同索引處添加一個條目。
我想要在每個ListView中具有相同的高度相同的項目。但是它們的MeasureOverride被單獨調用。我該如何解決這個問題?
=========================== 下面是示例代碼。
MainWindow.xaml
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<ListBox Grid.Column="0" x:Name="leftList">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<ScrollViewer>
<ListBox Grid.Column="1" x:Name="rightList">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Desc}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</ScrollViewer>
</Grid>
MainWindow.xaml.cs
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
AddPerson(new Person() { Name = "Ali", Desc = "123A" });
AddPerson(new Person() { Name = "Akram", Desc = "456X" });
AddPerson(new Person() { Name = "Salman", Desc = "Very long description ........................................" });
}
void AddPerson(Person person)
{
leftList.Items.Add(person);
rightList.Items.Add(person);
}
}
class Person
{
public string Name { get; set; }
public string Desc { get; set; }
}
在現實中,一個ListViewItem比較複雜,我必須編寫自定義的控制他們。
在大多數情況下,右列表的ListViewItem比左列表需要更多的空間,但我需要保持它們具有相同的高度。
我不能使用Grid來做到這一點,因爲我需要正確的ListView的內容能夠水平滾動。
你可以發佈你的代碼嗎? – Isma
嘗試添加項目到網格(而不是兩列) –
@lsma對不起,堆棧面板似乎不適合這個,我應該使用Listbox來代替。我寫了一個排序代碼片段來描述我的問題。 – mituba