У меня есть ListView в форме Windows, к которому я привязываю список объектов при создании формы. То, что я хотел бы сделать, это щелкнуть по кнопке через элементы, которые были созданы, и изменить их свойство IsEnabled на false. Я пробовал два метода, и ни один из них не был особенно успешным. Кто-нибудь может помочь исправить это и / или предложить альтернативный метод?
Мой ListView XAML
<ListView Margin="6" Name="myListView" ItemsSource="{Binding Path=.}">
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="10"/>
<ColumnDefinition Width="350"/>
<ColumnDefinition Width="20"/>
<ColumnDefinition Width="350"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="30" />
<RowDefinition Height="30" />
<RowDefinition Height="30" />
</Grid.RowDefinitions>
<TextBlock Name="ItemNameTextBlock" Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="4" VerticalAlignment="Center" Text="{Binding Path=ItemName}" />
<CheckBox Name="Action1CheckBox" Grid.Row="1" Grid.Column="1" Content="Action1" IsChecked="True" />
<CheckBox Name="Action2CheckBox" Grid.Row="1" Grid.Column="3" Content="Action2" IsChecked="True" />
<TextBox Height="23" Name="MyInputTextBox" Grid.Row="2" Grid.Column="1" Margin="2,0,2,0" VerticalAlignment="Top" Width="25" Text="{Binding Path=DataValue}" />
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Цель: при нажатии кнопки (не связанной кнопки) отключить флажки и текстовый блок
Попытка 1:
Это не сработало, Предметы - это элементы с привязкой к данным, и я не могу найти способ добраться до элементов управления, чтобы сделать что-то подобное. Это вообще возможно?
foreach (var item in ReleaseDeployProcessListView.Items)
{
((CheckBox)item.FindControl("Action1CheckBox")).IsEnabled = false;
}
Попытка 2:
Я добавил открытое свойство "IsFormElementsEnabled" в форму и по нажатию кнопки установил для этого значения значение false. Но я не мог понять, как / если / что мне нужно было сделать, чтобы связать это с предметами. Я попытался IsEnabled = "{Binding Path = IsFormElementsEnabled} (который не работает, так как он связан с объектами, и который не является стороной этих объектов), и я попытался IsEnabled =" {Binding Path = this.IsFormElementsEnabled} (который не Кажется, тоже не работает)