这里有类似的主题,但是所有决议都没有帮助我。
我有以下内容:
<ControlTemplate x:Key="PlateWellControlTemplate"
TargetType="{x:Type ContentControl}">
<Grid x:Name="PART_stateGrid"
Margin="0,0,5,0">
<Ellipse Fill="#FF252526"
MinWidth="34"
MinHeight="34"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
<Ellipse x:Name="PART_stateControl"
Fill="#FFE6E6E6"
MinWidth="32"
MinHeight="32"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
<Label FontWeight="Bold"
FontFamily="Verdana"
Foreground="Black"
Background="#00000000"
HorizontalAlignment="Center"
HorizontalContentAlignment="Center"
VerticalAlignment="Center"
Content=""/>
</Grid>
</ControlTemplate>
在这里使用:
<DataGridTemplateColumn Header="2">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid Tag="{Binding WellX2}"
x:Name="wellX2"
MouseDown="well_Click">
<ContentControl Template="{DynamicResource PlateWellControlTemplate}"/>
然后在后面的代码中访问此处:
DataTemplate cellTemplate = (DataTemplate)cell.Template.FindName("PART_stateControl", cell);
其中“单元格”是使用模板的非null的DataGridCell。上面的行始终返回null,但我不明白为什么。我也尝试过使用ControlTemplate和ContentPresenter。
我需要的是对DataGridCell中的椭圆(“ PART_StateControl”)的引用,因为我需要更改其中一个属性。但总的来说,如何获得ContentControl模板中的命名项目?这全部由DataGridTemplateColumn.CellTemplate(在此称为“ wellX2”)中引用的父Grid控件上的click事件触发。同样,这里有一些关于此的讨论,但没有任何帮助。我感觉好像有些愚蠢的缺失。这必须可行。
在此先感谢您提供的任何帮助。
答案 0 :(得分:0)