我们使用System.Windows.Shapes.Path直观地连接应用程序中的元素 是否可以“选择”Path对象并为其提供焦点?我们希望允许用户更改任何Path对象的某些样式元素。
在我们的LeftMouseButtonDown处理程序中,我们检测到我们已经点击了Path对象,但接着是什么?我将一个GotFocus处理程序连接到Path对象,但它永远不会被调用。
我怀疑在Path对象周围需要一个容器.... 感谢您的任何见解。
答案 0 :(得分:0)
您可能想要创建一个包裹Path元素的自定义控件。该路径是一个非常基本的图形基元,并没有像控件那样“聚焦”或“状态”的概念。
答案 1 :(得分:0)
如果您正在使用混合,您可以右键单击对象和时间轴部分中的路径并“进入控制”
选择简单的单选按钮,你可以添加故事板到视觉状态进行聚焦或检查等。
如果您没有混合,它为您的路径创建的代码将类似于以下内容。
<Style x:Key="RadioButtonStyle1" TargetType="RadioButton">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Pressed"/>
<VisualState x:Name="Normal"/>
<VisualState x:Name="MouseOver"/>
<VisualState x:Name="Disabled"/>
</VisualStateGroup>
<VisualStateGroup x:Name="FocusStates">
<VisualState x:Name="Focused"/>
<VisualState x:Name="Unfocused"/>
</VisualStateGroup>
<VisualStateGroup x:Name="ValidationStates">
<VisualState x:Name="Valid"/>
<VisualState x:Name="InvalidFocused"/>
<VisualState x:Name="InvalidUnfocused"/>
</VisualStateGroup>
<VisualStateGroup x:Name="CheckStates">
<VisualState x:Name="Unchecked"/>
<VisualState x:Name="Checked"/>
<VisualState x:Name="Indeterminate"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Path />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>