首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于ComboBox的SelectionChange上的RowDetailsTemplate访问控制

基于ComboBox的SelectionChange上的RowDetailsTemplate访问控制
EN

Stack Overflow用户
提问于 2011-02-09 17:28:33
回答 2查看 1.2K关注 0票数 1

我想访问一个CheckBox,以便在ComboBox的selectionChange事件中更改它的启用/禁用。在我的示例中,这两个控件都在rowDetailsTemplate中:

代码语言:javascript
复制
<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>

这非常重要!

EN

回答 2

Stack Overflow用户

发布于 2011-09-23 00:41:30

小例子..。

代码语言:javascript
复制
private CheckBox cbChaluka = null;

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

然后,在另一个控件上的selectionchange事件中,您可以引用cbChaluka。

票数 1
EN

Stack Overflow用户

发布于 2011-02-09 18:47:05

我不知道为什么,但在silverlight中,你不能直接从代码中交替访问控件,在你的例子中,你可以注册checkbox和onload的load事件,你可以将这个对象全局存储在某个列表中的代码中,然后从全局列表中访问它。如果您有多行,则在将其添加到全局列表之前,您必须在加载时为每个复选框添加某种类型唯一标识符。您可以创建唯一的guid,并将其分配给checkbox的tag属性。

如果您在这方面有任何问题,请让我知道

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4943045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档