У меня есть сетка с 2 списками в ней. Перечни одинаковы (только для других элементов ofc) используется только источник данных. Datatemplate = Stackpanel, в котором есть 1 ярлык и другая сетка. Теперь я хочу, чтобы сетка (внутри панели стека, которая находится внутри Datatemplate) ТОЛЬКО была видимой, если элемент выбран (метка). Я пробовал с этим кодом (который я поставил в DataTemplate в Listview:isselected во втором списке, как на первом
<StackPanel>
<Label content={binding blabla} />
<Grid Visibility="{Binding IsSelected,RelativeSource={RelativeSource AncestorType={x:Type ListViewItem}, Mode=FindAncestor}, Mode=OneWay, Converter={StaticResource BooleanToVisibilityConverter}}" >
...random labels etc...
</Gird>
</StackPanel>
Это работает ОДНАКО, если выбрать элемент в 2 ListView (и только 2-й), то первый один также показывает, что сетка (на том же уровне элемента). (Так, например, во втором списке я выбираю 3-й элемент (метку), тогда сетка отображается на 3-м элементе второго списка, но сетка 3-го элемента отображается на первый ListView !!!!)
Думаю, это связано с относительной исходной вещи, но я coudn т найти ответ. Надеюсь, что вы, ребята, можете помочь мне.
Постараюсь в этот раз я иди домой. Думаю, ты будешь моим героем снова Рейчел №1! : D – Maximc
oke it works, рядом, теперь, если я нажимаю на элемент списка, теперь закрывается другой объект списка, который был открыт (теперь была видна сетка). Есть ли способ исправить это, возможно? – Maximc
@Maximc Если вы хотите сохранить видимую 'Grid' для выбранного элемента, я бы использовал' IsSelected' вместо 'IsKeyboardFocusWithin', и убедитесь, что вы привязываете' SelectedItem' или 'SelectedIndex' вашего ListViews к двум различным значениям , Похоже, что они привязаны к одному и тому же значению, поэтому выбор синхронизируется. – Rachel