我有自定义控件的问题。我有一个自定义控件,其中有 5-8 个路径,用户可以“选择”什么。在这些路径中,我想要标签(在自定义控件内),我可以在其中更改内容(从窗口,我使用该自定义控件)。我的自定义控件的 XAML 如下所示:
<FirstMolarTooth ..........>
<DockPanel>
<Label Name="lbl_tooth" DockPanel.Dock="Top" FontSize="10" HorizontalAlignment="Center" />
<Grid DockPanel.Dock="Bottom" HorizontalAlignment="Center">
<Path ......./>
</Grid>
</DockPanel>
</FirstMolarTooth>
如何从使用该自定义控件的窗口中到达该标签?就像是:
<local:FirstMolarTooth x:Name="Tooth_15" ........>
<lbl_tooth Content="15" />
</local:FirstMolarTooth>
或者
<local:FirstMolarTooth .... Content="15">
</local:FirstMolarTooth>
第二个问题是我在使用它的窗口中旋转自定义控件:
<local:FirstMolarTooth ....>
<local:FirstMolarTooth.LayoutTransform>
<RotateTransform CenterX="0.5" CenterY="0.5" Angle="180"/>
</local:FirstMolarTooth.LayoutTransform>
</local:FirstMolarTooth>
我的问题是,当我这样做时(逻辑上),这会旋转整个控件(带有标签)。我只想旋转路径而不是标签。我认为我可以为该标签“isRotated”执行类似自定义属性的操作,当它设置为 true 时,我应该使用触发器“重置”旋转(设置角度 0)。但我无法做到这一点。(我应该从 XAML 获得该自定义属性吗?还是只在代码中?这可能是我尝试从 XAML 获得它的问题)。
我知道我可以从自定义控件中删除标签,并在其中仅包含路径,然后仅旋转路径和标签在窗口中。但是用户可以选择“整个”自定义控件(选择牙齿),他可以选择牙齿的“段”(路径)。因此,我希望将所有内容都包含在该自定义控件中。
感谢您的任何建议。