2011-02-09 1 views
1

ComboBox의 selectionChange 이벤트에서 사용/사용 안 함을 변경하려면 CheckBox에 액세스하려고합니다. 두 컨트롤은 rowDetailsTemplate에 내 예입니다 :ComboBox의 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

이유는 모르지만 실버 라이트에서는 코드에서 직접 컨트롤에 액세스 할 수 없습니다. 귀하의 경우에는 확인란의로드 이벤트를 등록 할 수 있습니다. u는 일부 개체에서 전역 적으로이 개체를 코드에 저장 한 다음에 액세스 할 수 있습니다. 그 글로벌리스트. U 개 이상의 행이 있으면 전역 목록에 추가하기 전에로드 할 때 각 확인란마다 고유 한 식별자를 추가해야합니다. 고유 한 GUID를 만들고 확인란의 태그 속성에 할당 할 수 있습니다. u는이에 어떤 문제가있는 경우

다음 PLZ

private CheckBox cbChaluka = null; 

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

다음 다른 컨트롤에를 SelectionChange 이벤트에 당신이 다음 cbChaluka를 참조 할 수 있습니다 ... 나를

1

작은 예를 알려 주시기 바랍니다.

+0

나를 위해 일해 왔습니다. 답변으로 받아 들여야합니다. – DNKROZ