![](/img/trans.png)
[英]How to access PickerFlyout's app bar in a WP 8.1 XAML App
[英]How do you get rownumbers for a xaml ListView in a WP 8.1 App?
为什么我的行号不显示? 如果我在WP SilverLight应用程序和ListBox中使用此功能,则效果很好。 但是使用ListView却没有。
这是我的代码:
public object Convert(object value, Type targetType, object parameter, string language)
{
var dependencyObject = value as DependencyObject;
var item = FindFirstParentOfType<ListView>(dependencyObject);
if (item == null)
return null;
var listView = (ListView)ItemsControl.ItemsControlFromItemContainer(item);
if (listView == null)
return null;
return listView.IndexFromContainer(item) + 1;
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
throw new NotImplementedException();
}
private static T FindFirstParentOfType<T>(DependencyObject dependencyObject)
where T : DependencyObject
{
while (true)
{
if (dependencyObject == null)
return null;
var parent = VisualTreeHelper.GetParent(dependencyObject);
var findFirstParentOfType = (parent as T);
if (findFirstParentOfType != null)
return findFirstParentOfType;
dependencyObject = parent;
}
}
在ListView的xaml页面上,我这样做:
<ListView ItemsSource="{Binding ObjectsList}">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding RelativeSource={RelativeSource TemplatedParent},
Converter={StaticResource ListViewItemIndexConverter}, Mode=OneTime}"
Foreground="White"
FontSize="40" />
<TextBlock Text="{Binding Name}" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
对我忘记或做错的事情有任何想法吗?
您的Convert方法错误。
在寻找FindFirstParentOfType<ListView>
,它应该是FindFirstParentOfType<ListViewItem>
。
该方法应如下所示:
public object Convert(object value, Type targetType, object parameter, string language)
{
var dependencyObject = value as DependencyObject;
var item = FindFirstParentOfType<ListViewItem>(dependencyObject);
if (item == null)
return null;
var listView = (ListView)ItemsControl.ItemsControlFromItemContainer(item);
if (listView == null)
return null;
return listView.IndexFromContainer(item) + 1;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.