C# UWP中的ListView容器
我正在尝试获取当前所选ListView项目的容器。ContainerFromItem返回始终为null,编译器抱怨函数可能已过时 有什么想法吗 ContainerFromItem始终返回null 方法可以获取指定项的容器。例如,我们可以从C# UWP中的ListView容器,c#,listview,uwp,C#,Listview,Uwp,我正在尝试获取当前所选ListView项目的容器。ContainerFromItem返回始终为null,编译器抱怨函数可能已过时 有什么想法吗 ContainerFromItem始终返回null 方法可以获取指定项的容器。例如,我们可以从列表视图中的所选项目中获取容器。如果为null,则可能该项没有容器,或者代码有问题 我正在尝试获取当前所选ListView项目的容器 下面是获取当前选中的ListViewItem的容器的完整演示。 XAML代码: <ListView Name="C
列表视图
中的所选项目中获取容器。如果为null,则可能该项没有容器,或者代码有问题
我正在尝试获取当前所选ListView项目的容器
下面是获取当前选中的ListViewItem
的容器的完整演示。
XAML代码:
<ListView
Name="CListView"
Margin="10"
HorizontalAlignment="Center"
ItemsSource="{x:Bind categories}"
SelectionChanged="CListView_SelectionChanged">
<ListView.ItemTemplate>
<DataTemplate x:DataType="local:Category">
<StackPanel
Background="{x:Bind backgroundcolor}"
Orientation="Horizontal">
<TextBlock
FontSize="17"
FontWeight="Bold"
Text="{x:Bind Name}" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
代码隐藏
ObservableCollection<Category> categories = new ObservableCollection<Category> { };
public ListViewContainer()
{
this.InitializeComponent();
categories = new ObservableCollection<Category>
{
new Category {Name="name1",details="color1" ,backgroundcolor="#D90015"},
new Category {Name="name2",details="color2" ,backgroundcolor="#DC1C17"},
new Category {Name="name3",details="cplor3",backgroundcolor="#DE3A17" },
new Category {Name="name3",details="color4",backgroundcolor="#E25819" }
};
}
private void CListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var container = CListView.ContainerFromItem(CListView.SelectedItem);
ListViewItem item = container as ListViewItem;
System.Diagnostics.Debug.WriteLine(item.ActualHeight);
}
ObservableCollection类别=新的ObservableCollection{};
公共ListViewContainer()
{
this.InitializeComponent();
类别=新的可观察集合
{
新类别{Name=“name1”,details=“color1”,backgroundcolor=“#D90015”},
新类别{Name=“name2”,details=“color2”,backgroundcolor=“#DC1C17”},
新类别{Name=“name3”,details=“cplor3”,backgroundcolor=“#DE3A17”},
新类别{Name=“name3”,details=“color4”,backgroundcolor=“#E25819”}
};
}
private void CListView_SelectionChanged(对象发送者,SelectionChangedEventArgs e)
{
var container=CListView.ContainerFromItem(CListView.SelectedItem);
ListViewItem=作为ListViewItem的容器;
系统.诊断.调试.写入线(项目.实际高度);
}
你能展示一下你的代码吗?再看看这个很好用。非常感谢。