source

컨트롤의 속성을 다른 컨트롤의 속성에 바인딩하려면 어떻게 해야 합니까?

itover 2023. 4. 17. 21:43
반응형

컨트롤의 속성을 다른 컨트롤의 속성에 바인딩하려면 어떻게 해야 합니까?

폼이 비활성화되면 폼에서 Save Button을 삭제해 주세요.저는 이렇게 합니다.

this.formStackPanel.IsEnabled = someValue;
if(this.formStackPanel.IsEnabled)
{
    this.saveButton.Visibility = Visibility.Visible;
}
else
{
    this.saveButton.Visibility = Visibility.Collapsed;
}

XAML에 그 속성들을 묶는 방법은 없나요? 더 나은 방법이 있나요?

예. 스택 패널의 IsEnabled를 버튼의 가시성 속성에 바인딩할 수 있습니다.단, 변환기가 필요합니다.WPF에는 Boolean ToVisibility Converter 클래스가 포함되어 있어 작업을 수행할 수 있습니다.

<Window
  x:Class="WpfApplication1.Window1"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Window.Resources>
    <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
  </Window.Resources>
  <StackPanel>
    <ToggleButton x:Name="toggleButton" Content="Toggle"/>
    <TextBlock
      Text="Some text"
      Visibility="{Binding IsChecked, ElementName=toggleButton, Converter={StaticResource BooleanToVisibilityConverter}}"/>
  </StackPanel>
</Window>

언급URL : https://stackoverflow.com/questions/9586956/how-to-bind-a-controls-property-to-another-controls-property

반응형