1.MultiBinding
MultiBinding:多值轉換器,繼承於 System.Windows.Data.IMultiValueConverter接口,綁定多條數據組合為一個數組,按照需求處理數據,並返回需要的值
2.使用
public class MultiStatueConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
<Button Width="60" Height="40">
<Button.Visibility>
<MultiBinding Converter="{StaticResource MultiStatueConverter}">
<Binding Path="DataContext.StartHostRounds" RelativeSource="{RelativeSource AncestorType=Window,Mode=FindAncestor}"/>
<Binding Path="IsLoginUser"/>
</MultiBinding>
</Button.Visibility>
</Button>
<Binding Path="IsLoginUser"/> 根據當前控件的DataContext查找源
Binding:指定需要綁定的數據源,可通過ElementName,RelativeSource,Source指定綁定的數據源。
ElementName:綁定到元素對象
<Binding Path="Content" ElementName="button"/>
RelativeSource:引用,使用RelativeSource對象指定源對象
<Binding Path="DataContext.StartHostRounds" RelativeSource="{RelativeSource AncestorType=Window,Mode=FindAncestor}"/>
Source:直接指向源對象
<Grid.Resources>
<mydata:testData x:Key="testData " />
</Grid.Resources>
<Binding Source="{StaticResource testData}" />
