약간의 연구를했지만 내 질문에 대한 답을 찾지 못했습니다. 그곳에는 StackPanel과 두 개의 TextBlock을 내부에 가지고있는 DataGridTemplateColumn이 있습니다. TextBlock 중 하나만 편집하고 싶습니다. 가능합니까?DataGridTemplateColumn에서 하나의 컨트롤 만 편집 할 수 있습니까?
내 코드가있다 :
<DataGrid Name="gdProducts"
MinHeight="100"
ItemsSource="{Binding ProductsView, UpdateSourceTrigger=PropertyChanged}"
SelectedItem="{Binding SelectedProduct, UpdateSourceTrigger=PropertyChanged}"
AutoGenerateColumns="False"
GridLinesVisibility="None"
IsSynchronizedWithCurrentItem="False"
CanUserAddRows="False"
CanUserDeleteRows="False">
<DataGrid.Columns>
<!-- other columns -->
<DataGridTemplateColumn Header="Waiting Period"
IsReadOnly="False"
Width="80">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding WaitingPeriod}"/>
<TextBlock Text=" days"/>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
코드가 나는 두 TextBlocks (전체 StackPanel의)을 편집합니다 기록 방법. 그건 내가 원하는 게 아니야.
감사합니다!
EDIT 내 실수에 대한
죄송합니다, 실제로 내 위의 코드는 나를 전혀 아무것도를 편집 할 수 없습니다. IsReadOnly를 False로 설정하면 다른 DataGrid 열 유형과 같이 편집 할 수 있습니다.
고마워요,이 작품. 귀하의 답변 외에도 ** TextBlock 템플릿과 일치시키기 위해 ** BorderThickness = "0"** 속성을 TextBox에 추가하는 것이 좋습니다. – renatogbp