Флажок, управляющий показом / скрытием кнопки и включением / отключением текстовых полей
Я хочу иметь CheckBox
показать / скрыть кнопку "ОК" и иметь то же самое CheckBox
включить выключить TextBox
эс. Я сделал шаблон для загрузки информации о пользователе в DataGrid
, Первая клетка моего DataGrid
хосты, в сетке, флажок, изображение и кнопка удаления.
Хозяева моей второй клетки снова в Grid
, TextBlock
, TextBox
и Button
, Поскольку существует список пользователей, DataGrid
Ожидается, что будет расти, пока список пользователей.
Моя проблема в том, что я не могу получить доступ к Button
видимость в этом Grid(Cell)
от моего CheckBox
в другой сетке. Я пытался связать их, используя конвертеры, но безрезультатно.
Вот мой XAML:
<Window x:Class="Artists.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Artists" Loaded="Window_Loaded" Width="800"
mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
d:DesignHeight="178">
<StackPanel Name="lista">
<Grid VerticalAlignment="Top" >
<ScrollViewer>
<DataGrid Name="dataGrid1" AutoGenerateColumns="False" Margin="5" MaxHeight="300">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Photo" Width="15*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid Name="photoGrid">
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<CheckBox Grid.Column="0" Grid.Row="0"/>
<Image Name="img1" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="3" Source="{Binding Path=Picture}" />
<Button Grid.Column="2" Grid.Row="0" Content="DEL"/>
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Details" Width="70*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid Name="detailsGrid" >
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="20*"></ColumnDefinition>
<ColumnDefinition Width="60*"></ColumnDefinition>
<ColumnDefinition Width="20*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text="First Name: " Grid.Column="0" Grid.Row="0"/>
<TextBlock Text="Last Name: " Grid.Column="0" Grid.Row="1"/>
<TextBlock Text="Address: " Grid.Column="0" Grid.Row="2"/>
<TextBlock Text="Phone: " Grid.Column="0" Grid.Row="3"/>
<TextBlock Text="Email: " Grid.Column="0" Grid.Row="4"/>
<TextBlock Text="Contact: " Grid.Column="0" Grid.Row="5"/>
<TextBox Text="{Binding Path=FirstName}" Grid.Column="1" Grid.Row="0"/>
<TextBox Text="{Binding Path=LastName}" Grid.Column="1" Grid.Row="1"/>
<TextBox Text="{Binding Path=Address}" Grid.Column="1" Grid.Row="2"/>
<TextBox Text="{Binding Path=PhoneNumber}" Grid.Column="1" Grid.Row="3"/>
<TextBox Text="{Binding Path=Email}" Grid.Column="1" Grid.Row="4"/>
<TextBox Text="{Binding Path=Contact}" Grid.Column="1" Grid.Row="5"/>
<Button Grid.Column="2" Grid.Row="0" Content="OK"></Button>
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="15*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel>
<Button Content="OK" Click="Button_Ok"/>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</ScrollViewer>
</Grid>
<Grid Name="Manage" VerticalAlignment="Bottom">
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Button Name="Upload" Content="Upload" Grid.Column="0"/>
<Grid Name="manageDetails" Grid.Column="1">
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<TextBlock Text="Name: " Grid.Column="0" Grid.Row="0" />
<TextBlock Text="Email: " Grid.Column="0" Grid.Row="1"/>
<TextBox Name="tbxName" Grid.Column="1" Grid.Row="0"/>
<TextBox Name="tbxEmail" Grid.Column="1" Grid.Row="1" />
</Grid>
<Button Name="Add" Content="Add" Grid.Column="2" Width="80" Height="25"/>
</Grid>
</StackPanel>
Если у вас есть какие-либо предложения, я был бы признателен, если бы вы поделились ими.