我想将TextBlock.Text绑定到ListBox.SelectedItems.Count,但我发现当我在listBox中多选项时,我的TextBlock没有显示任何内容。
我记得这种方式适用于WPF,但它不再适用于Windows应用商店。
有没有其他方法可以解决这个简单问题?
<StackPanel>
<StackPanel.Resources>
<local:NumberToTextConverter x:Key="NumToText" />
</StackPanel.Resources>
<TextBlock Text="{Binding SelectedItems.Count, ElementName=listBox, Mode=TwoWay, Converter={StaticResource NumToText}}"
Height="80" />
<ListBox x:Name="listBox"
SelectionMode="Multiple" />
</StackPanel>
这是转换器,但在这种情况下没有必要。
internal class NumberToTextConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string culture)
{
if(value != null)
return ((int)value).ToString();
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, string culture)
{
throw new NotImplementedException();
}
}
我在程序的入口处加载了一些数据。
List<string> gogoString = new List<string>();
for (int i = 0; i < 4; i++)
gogoString.Add(i.ToString());
listBox.ItemsSource = gogoString;
答案 0 :(得分:0)
好的,我迟到了找到答案。
ListBox
在WPF中实现INotifyPropertyChanged
但在Windows应用商店应用中不实现。这就是为什么我无法从Windows应用商店应用中的ListBox.Items.Count
或ListBox.SelectedItems.Count
收到通知。