을 multibinding :고급 나는 이런 식으로 뭔가를
<Controls:ToggleRectangleButton.Visibility>
<MultiBinding Converter="{StaticResource MultiButtonCheckedToVisibilityConverter}">
<Binding ElementName="btDayAndNightsLinesTickets" Path="IsButtonChecked" />
<Binding ElementName="btSchoolSemester" Path="IsButtonChecked" />
</MultiBinding>
</Controls:ToggleRectangleButton.Visibility>
MultiButtonCheckedToButtonEnabledConverter의 변환 방법
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
bool visible = false;
foreach (object value in values)
{
if (value is bool)
{
if ((bool)value == true) visible = true;
}
}
if (visible)
{
return System.Windows.Visibility.Visible;
}
else
{
return System.Windows.Visibility.Hidden;
}
}
그래서 매개 변수로 전달 버튼의 경우 적어도 하나가 IsButtonChecked 속성을 true로 설정 한 것을 의미 -> 쇼 제어. 그렇지 않으면 숨 깁니다.
나는 몇 가지 기능을 추가하려는, 즉 조건 :
(otherButton.IsChecked가) System.Windows.Visibility.Hidden를 반환하는 경우;
그래서 otherButton이 선택되면 제어를 숨 깁니다 (다른 조건과 독립적으로). 적어도 "otherButtons"중 하나 이상이 선택되어 있으면 -> 숨기기) 1보다 많은 "otherButtons"를 설정할 수 있기를 원합니다.
바인딩의 값으로 버튼을 제공하면 안됩니다. 이러한 바인딩은 버튼의 속성을 절대 수신하지 않기 때문입니다. –