从代码中找到ControlTemplate
我有一个包含以下代码的 xaml 文件:
<GridViewColumn x:Name="lvCol3"
Header="Quantità"
Width="120">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Control x:Name="host">
<Control.Template>
<ControlTemplate>
<TextBlock Text="{Binding Path=Entity.Quantita}" />
</ControlTemplate>
</Control.Template>
</Control>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=IsSelected,
RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListViewItem}}}"
Value="True">
<Setter TargetName="host" Property="Template">
<Setter.Value>
<ControlTemplate x:Name="myControlTemplate" />
</Setter.Value>
</Setter>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
我将从后面的代码管理 myControlTemplate
以便分配不同的 UI 对象。
我尝试使用 FindResource,但它不起作用。我该怎么做?
I have a xaml file with this code:
<GridViewColumn x:Name="lvCol3"
Header="Quantità"
Width="120">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Control x:Name="host">
<Control.Template>
<ControlTemplate>
<TextBlock Text="{Binding Path=Entity.Quantita}" />
</ControlTemplate>
</Control.Template>
</Control>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=IsSelected,
RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListViewItem}}}"
Value="True">
<Setter TargetName="host" Property="Template">
<Setter.Value>
<ControlTemplate x:Name="myControlTemplate" />
</Setter.Value>
</Setter>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
I would manage myControlTemplate
from code behind in order to assign different UI object.
I try to use FindResource
but it doesn't work. How can I do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
也许最简单的方法是将 ControlTemplate 提取到资源中:然后您可以使用 FindResource。
像这样的事情:
然后在您的 UserControl (或任何根元素)的代码中,您可以执行以下操作
Probably the easiest way is to extract your ControlTemplate to a resource: then you can use FindResource.
Something like this:
Then in the code for your UserControl (or whatever is the root element) you can do