0

Silverlight 4: ユーザー コントロールをテンプレート コントロールに変換しています。私のUsercontrolにはRenderTransformがありました

<src:UserControlView.RenderTransform>
    <TransformGroup>
        <ScaleTransform/>
        <SkewTransform/>
        <RotateTransform/>
        <TranslateTransform X="-478" Y="-478"/>
    </TransformGroup>
</src:UserControlView.RenderTransform>

しかし今、私は Controltemplate にいるので、エラー メッセージが表示されます。

エラー 5 添付可能なプロパティ 'RenderTransform' がタイプ 'MyControl' に見つかりませんでした。...\Themes\Generic.xaml

                <local:MyControl.RenderTransform>
                    <TransformGroup>
                        <ScaleTransform />
                        <SkewTransform />
                        <RotateTransform />
                        <TranslateTransform X="-478"
                                            Y="-478" />
                    </TransformGroup>
                </local:MyControl.RenderTransform>

local:MyControl は必死の試みです。なぜなら、どこを見ればいいのかわからないからです。私の MyControl は Control から継承し、UIElement に RenderTransform があるので、どうにかしてそれを正しく見つけなければなりませんか?

4

1 に答える 1

2

デフォルトの Render Transform プロパティを設定しようとしているだけだと思いますか? もしそうなら、ジェネリックスタイルでセッターを実装したいだけです:

<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 をさらに表示してください。この例を修正します。

于 2010-09-13T14:29:40.800 に答える