Контроль доступа в RowDetailsTemplate на SelectionChange ComboBox - PullRequest
1 голос
/ 09 февраля 2011

Я хочу получить доступ к CheckBox, чтобы изменить его включение / отключение в событии selectionChange ComboBox. оба элемента управления находятся в рядDetailsTemplate Мой пример:

<Grid x:Name="LayoutRoot" Background="White">
    <sdk:DataGrid  AutoGenerateColumns="False" >
        <sdk:DataGrid.Columns>
            <sdk:DataGridTextColumn  Visibility="Collapsed">
            </sdk:DataGridTextColumn>
        </sdk:DataGrid.Columns>
        <sdk:DataGrid.RowDetailsTemplate>
            <DataTemplate>
                <StackPanel>
                    <sdk:DataGrid  Width="Auto" FlowDirection="RightToLeft">
                        <sdk:DataGrid.Columns>
                            <sdk:DataGridTemplateColumn >
                                <sdk:DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate>
                                        <ComboBox Name="cbAction" SelectionChanged="cbAction_SelectionChanged" />
                                    </DataTemplate>
                                </sdk:DataGridTemplateColumn.CellTemplate>
                            </sdk:DataGridTemplateColumn>
                            <sdk:DataGridTemplateColumn >
                                <sdk:DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate >
                                        <StackPanel Orientation="Horizontal" VerticalAlignment="Center">
                                            <CheckBox Name="cbChaluka" Width="30" VerticalAlignment="Center"  HorizontalAlignment="Center"  IsEnabled="False" IsChecked="{Binding _LOGI_GOT,Mode=TwoWay}" FlowDirection="LeftToRight">
                                            </CheckBox>
                                        </StackPanel>
                                    </DataTemplate>
                                </sdk:DataGridTemplateColumn.CellTemplate>
                            </sdk:DataGridTemplateColumn>
                        </sdk:DataGrid.Columns>
                    </sdk:DataGrid>
                </StackPanel>
            </DataTemplate>
        </sdk:DataGrid.RowDetailsTemplate>
    </sdk:DataGrid>
</Grid>

Это очень важно !!!!

Ответы [ 2 ]

1 голос
/ 22 сентября 2011

Небольшой пример ...

private CheckBox cbChaluka = null;

private void datagridname_LoadingRowDetails(object sender, DataGridRowDetailsEventArgs e)
{
    cbChaluka = e.DetailsElement.FindName("cbChaluka");
}

, затем в событии selectionchange на другом элементе управления вы можете ссылаться на cbChaluka.

0 голосов
/ 09 февраля 2011

я не знаю почему, но в silverlight вы не можете получить доступ к элементам управления напрямую из кода поочередно, в вашем случае вы можете зарегистрировать событие загрузки флажка и onload, вы можете сохранить этот объект в коде глобально в некотором списке, а затем получить к нему доступ из этогоглобальный список.если у вас более одной строки, вам нужно добавить уникальный тип идентификатора с каждым флажком во время загрузки, прежде чем добавлять его в глобальный список, вы можете создать уникальный идентификатор и назначить его свойству тега флажка.

если у вас есть какие-либо проблемы в этом, то, пожалуйста, дайте мне знать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...