문제

내 XAML에 직사각형이 있고 변경하고 싶습니다. Canvas.Left 뒤에 코드의 속성 :

<UserControl x:Class="Second90.Page"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Width="400" Height="300" KeyDown="txt_KeyDown">
    <Canvas>
        <Rectangle 
            Name="theObject" 
            Canvas.Top="20" 
            Canvas.Left="20" 
            Width="10" 
            Height="10" 
            Fill="Gray"/>
    </Canvas>
</UserControl>

그러나 이것은 작동하지 않습니다.

private void txt_KeyDown(object sender, KeyEventArgs e)
{
    theObject.Canvas.Left = 50;
}

구문이 이것을하는 것이 무엇인지 아는 사람이 있습니까?

도움이 되었습니까?

해결책

Canvas.SetLeft(theObject, 50)

다른 팁

이 시도

theObject.SetValue(Canvas.LeftProperty, 50d);

모든 종속성 속성에 대한 일반적인 액세스를 허용하는 종속성 관 (대부분의 WPF 클래스의 기본)에 대한 방법 그룹이 있습니다. 그들은

  • setValue
  • getValue
  • ClearValue

편집하다 대상 유형이 이중이기 때문에 이중 문자를 사용하도록 세트를 업데이트했습니다.

'개체'의 속성을 바꾸면 Jaredpar의 방법 Sugedte를 사용하는 것이 좋습니다.

theObject.SetValue(Canvas.LeftProperty, 50d);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top