我想将ListBox SelectedItem绑定到
这是我的UserControl.xaml中的Listbox代码
Style x:Key="listbox" TargetType="ListBox"> <!-- Region Setter Properties --> <Setter Property="SelectionMode" Value="Single" /> <Setter Property="ItemsSource" Value="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type program:UserControl}}, Path=Source}" /> `<ListBox Name="ListBox" Grid.Row="1" SelectedIndex="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type program:UserControl}}, Path=SelectedIndex}" SelectedItem="{Binding Path=(program:UserControl.SelectedItem), RelativeSource={RelativeSource AncestorType={x:Type program:UserControl}}}" Style="{DynamicResource listbox}" />`在我的UserControl.xaml.cs中
public object SelectedItem { get { return (object) GetValue(SelectedItemProperty); } set { SetValue(SelectedItemProperty, value); } } public int SelectedIndex { get { return (int) GetValue(SelectedIndexProperty); } set { SetValue(SelectedIndexProperty, value); } } /// <summary> /// Identifies the <see cref="Selected" /> dependency property. /// </summary> public static readonly DependencyProperty SelectedProperty = DependencyProperty.Register( SelectedPropertyName, typeof(object), typeof(TileContainer), new UIPropertyMetadata(default(object))); public static readonly DependencyProperty SelectedItemProperty = DependencyProperty.Register("SelectedItem", typeof (object), typeof (UserControl), new PropertyMetadata(default(object))); public static readonly DependencyProperty SelectedIndexProperty = DependencyProperty.Register("SelectedIndex", typeof (int), typeof (UserControl), new PropertyMetadata(default(int)));通常它工作,我的ListBox的FactSource正确采取,但SelectedIndex和SelectedItem不起作用。 我环顾网络,但我找不到任何解决方案,因为他们可能没有这个问题。
我正在使用.NET 4.5进行编译。
感谢名单!
I want to bind a ListBox SelectedItem to
This is my code for Listbox in my UserControl.xaml
Style x:Key="listbox" TargetType="ListBox"> <!-- Region Setter Properties --> <Setter Property="SelectionMode" Value="Single" /> <Setter Property="ItemsSource" Value="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type program:UserControl}}, Path=Source}" /> `<ListBox Name="ListBox" Grid.Row="1" SelectedIndex="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type program:UserControl}}, Path=SelectedIndex}" SelectedItem="{Binding Path=(program:UserControl.SelectedItem), RelativeSource={RelativeSource AncestorType={x:Type program:UserControl}}}" Style="{DynamicResource listbox}" />`In my UserControl.xaml.cs
public object SelectedItem { get { return (object) GetValue(SelectedItemProperty); } set { SetValue(SelectedItemProperty, value); } } public int SelectedIndex { get { return (int) GetValue(SelectedIndexProperty); } set { SetValue(SelectedIndexProperty, value); } } /// <summary> /// Identifies the <see cref="Selected" /> dependency property. /// </summary> public static readonly DependencyProperty SelectedProperty = DependencyProperty.Register( SelectedPropertyName, typeof(object), typeof(TileContainer), new UIPropertyMetadata(default(object))); public static readonly DependencyProperty SelectedItemProperty = DependencyProperty.Register("SelectedItem", typeof (object), typeof (UserControl), new PropertyMetadata(default(object))); public static readonly DependencyProperty SelectedIndexProperty = DependencyProperty.Register("SelectedIndex", typeof (int), typeof (UserControl), new PropertyMetadata(default(int)));Normally it works, infact ItemsSource of my ListBox is correctly taken but SelectedIndex and SelectedItem don't work. I looked around the net but i didn't find any solution because maybe they don't have this issue.
I'm compiling with .NET 4.5 .
Thanx!
最满意答案
像这样更新DependencyProperty
public static readonly DependencyProperty SelectedProperty = DependencyProperty.Register( SelectedPropertyName, typeof(object), typeof(TileContainer), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault));Update you DependencyProperty like so
public static readonly DependencyProperty SelectedProperty = DependencyProperty.Register( SelectedPropertyName, typeof(object), typeof(TileContainer), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault));更多推荐
SelectedItem,ListBox,UserControl,SelectedIndex,电脑培训,计算机培训,IT培训"/> &l
发布评论