在Silverlight 4中: 我正在将Usercontrol转换为模板化控件。在我的Usercontrol中,我有一个RenderTransform
<src:UserControlView.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform X="-478" Y="-478"/>
</TransformGroup>
</src:UserControlView.RenderTransform>
但现在我在Controltemplate中收到错误消息:
错误5在“MyControl”类型中找不到可附加属性“RenderTransform”。 ... \主题\ Generic.xaml
<local:MyControl.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform />
<TranslateTransform X="-478"
Y="-478" />
</TransformGroup>
</local:MyControl.RenderTransform>
当地:MyControl是一次绝望的尝试,因为我不知道如何或在哪里看。我的MyControl继承自Control,UIElement上有一个RenderTransform,所以它必须以某种方式找到它?
答案 0 :(得分:2)
我假设您只是尝试设置默认的渲染变换属性?如果是这样,您只想以通用样式实现setter:
<ResourceDictionary
xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:SilverlightApplication1"
>
<Style TargetType="local:MyControl">
<Setter Property="RenderTransform">
<Setter.Value>
<TransformGroup>
<TranslateTransform X="-478" Y="-478" />
</TransformGroup>
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="local:MyControl">
// Your actual template goes here
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
如果没有,请显示更多您当前的来源/ Xaml,我将更正此示例。