2011-02-09 42 views
1

的SelectionChange我想以此来改变它的启用/禁用的组合框的selectionChange事件访问复选框。这两个控件都处于rowDetailsTemplate 我的例子:访问控制对组合框

<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> 

这是非常重要!!!!

回答

0

我不知道为什么,但在Silverlight中你无法从代码直接访问控制交替地在您的情况u能注册复选框的加载事件,并为onload U可以在代码中这个对象存储在全球范围内的一些列表,然后从访问该全球名单。如果u有超过一排然后u必须在加载时间将其添加到全局列表ü可以创建一个唯一的GUID并将其分配给标记选择框的属性之前添加一些类型与每个复选框唯一标识符。

如果u有任何问题,在这则PLZ让我知道

1

小例子

private CheckBox cbChaluka = null; 

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

然后在你的其他控制SelectionChange事件之后就可以引用cbChaluka。

+0

为我工作 - 这应该被接受的答案 – DNKROZ