親オブジェクトのプロパティを持つ listbox-item テンプレートの可視性をバインドする際に問題があります。カスタム xaml スタイル テンプレートからの小さなスニペットを次に示します。
<!-- DATA BINDING ITEM TEMPLATE -->
<StackPanel Orientation="Vertical">
<TextBlock Height="19"
....
Text="{Binding InfoTop}"/>
<Rectangle Height="1"
....
Visibility="{Binding _linesVisibility[0], RelativeSource={RelativeSource AncestorType=my:PatientsList}}"/>
<TextBlock Height="19"
....
Text="{Binding InfoMiddle}"
Visibility="{Binding _linesVisibility[0], ElementName=patientsControl}"/>
<Rectangle Height="1"
....
Visibility="{Binding _linesVisibility[1]}"/>
<TextBlock Height="19"
....
Text="{Binding InfoBottom}"
Visibility="{Binding _linesVisibility[1]}"/>
</StackPanel>
コード ファイルで ItemsSource を割り当てることで Text 値をバインドできましたが、Visibility をバインドできません。ご覧のとおり、いくつかの異なるアイデアを試しましたが、どれも機能しません。
public Visibility[] _linesVisibility = new Visibility[2];
カスタム コントロールにパブリック変数があります。このコントロールには、上記のカスタム スタイルのリストボックスが含まれています。_linesVisibility を listbox-item style に適切にバインドする方法は?