0

内部に別のユーザー コントロールを子として持つユーザー コントロールを作成しました。次のステートメントを発行して、子ユーザーコントロールを移動しようとしました

this.versionDisplay.SetValue(Canvas.TopProperty,10.0);

しかし、VS2010は次のようにエラーを表示しています

エラー 23 'MainApp.MainGui.MainControls.MainTitleControl' には 'versionDisplay' の定義が含まれておらず、タイプ 'MainApp.MainGui.MainControls.MainTitleControl' の最初の引数を受け入れる拡張メソッド 'versionDisplay' が見つかりませんでした (ディレクティブまたはアセンブリ参照を使用していますか?)

子コントロールの名前は versionDisplay だと確信しています。

MainTitleControl のコード

<UserControl x:Class="Main.MainGui.MainControls.MainTitleControl"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
     xmlns:wcontrols="clr-namespace:WEPA.MainGui.MainControls"
     Height="80" Width="395" Loaded="UserControl_Loaded" >

     <Grid Background="Transparent"  >
         <Image  HorizontalAlignment="Left"  Name="image1" Stretch="Fill" VerticalAlignment="Top"  Width="635" Height="120" Source="/MainApplication;component/images/UnCategorized/Wireless.png" Margin="12,0,0,0" / >
         <wcontrols:supportInfoControl Name="versionDisplay" Height="20" Canvas.Left="185" Canvas.Top="70" Margin="200,95,-114,-35" />
    </Grid>
</UserControl>

ご意見をお聞かせください。

4

1 に答える 1

1

ネストされた UserControl (wcontrols:supportInfoControl) は Grid に含まれているように見えるため、Canvas.Top プロパティを正しく設定していたとしても、次のようになります。

Canvas.SetTop(this.versionDisplay, 10.0);

それでは、やはり効果がありません。私はこれを試してみます:

this.versionDisplay.RenderTransform = new TranslateTransform(0.0, 10.0);

この再配置が兄弟要素と親要素に与える影響を指定しないため、RenderTransform を提案しました。異なる全体的な動作が必要な場合は、より具体的にする必要があります。

これが役立つことを願っています。

于 2012-11-07T15:26:17.460 に答える