从ListBox中获取SelectedItem

时间:2013-05-01 00:55:52

标签: xaml windows-8 listbox selecteditem

我想从我的Windows 8商店应用程序中看起来像这样的ListBox中获取SelectedItem:

<ListBox x:Name="listBox" SelectedItem="{Binding SelectedItem, Mode=TwoWay}" Foreground="Black" BorderThickness="0" Background="#FFD8D8D8" />

问题是,ListBox不会触发SelectedItem属性。我必须使用 IsSynchronizedWithCurrentItem =“True”,但随后会出现一个错误,指出true不支持此属性。我该做什么或者有没有其他方法来获得SelectedItem属性?

我有这个代码:

namespace ExampleApp
{
    public sealed partial class MainPage : Page, INotifyPropertyChanged
    {
        private object currentItem;

        //Constructor and so on

        public object SelectedItem
        {
            get { Debug.WriteLine("get"); return currentItem; }
            set { Debug.WriteLine("set"); currentItem = value; NotifyPropertyChanged(); }
        }
    }
}

1 个答案:

答案 0 :(得分:4)

你应该试试这个

<ListBox x:Name="listBox" SelectedItem="{Binding ElementName=YourPageName,path=DataContext.SelectedItem, Mode=TwoWay}" Foreground="Black" BorderThickness="0" Background="#FFD8D8D8" />