Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# UWP中的ListView容器_C#_Listview_Uwp - Fatal编程技术网

C# UWP中的ListView容器

C# UWP中的ListView容器,c#,listview,uwp,C#,Listview,Uwp,我正在尝试获取当前所选ListView项目的容器。ContainerFromItem返回始终为null,编译器抱怨函数可能已过时 有什么想法吗 ContainerFromItem始终返回null 方法可以获取指定项的容器。例如,我们可以从列表视图中的所选项目中获取容器。如果为null,则可能该项没有容器,或者代码有问题 我正在尝试获取当前所选ListView项目的容器 下面是获取当前选中的ListViewItem的容器的完整演示。 XAML代码: <ListView Name="C

我正在尝试获取当前所选ListView项目的容器。ContainerFromItem返回始终为null,编译器抱怨函数可能已过时

有什么想法吗

ContainerFromItem始终返回null

方法可以获取指定项的容器。例如,我们可以从
列表视图
中的所选项目中获取容器。如果为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的容器;
系统.诊断.调试.写入线(项目.实际高度);
}

你能展示一下你的代码吗?再看看这个很好用。非常感谢。