1
問題與MultiBinding轉換
我知道這沒有任何意義發送相同值的兩倍
我這樣做,以對單一結合
在轉換器我得到的鑄錯誤爲bool
隔離 值是MultiBinding轉換器綁定
{DependencyProperty.UnsetValue}
但 「RWnet」 是一個布爾
<ContentPresenter Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2"
x:Name="fieldTemplateDetail"
Content="{Binding}"
ContentTemplateSelector="{StaticResource fieldTemplateSelector}">
<ContentPresenter.Visibility>
<MultiBinding Converter="{StaticResource visabilityConverterTwoBool}">
<Binding Path="RWnet" />
<Binding Path="RWnet" />
</MultiBinding>
</ContentPresenter.Visibility>
</ContentPresenter>
public class VisabilityConverterTwoBool : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
if (values == null) return Visibility.Visible;
if (values.Length != 2) return Visibility.Visible;
try
{
if ((bool)values[0] == false) return Visibility.Collapsed;
if ((bool)values[1] == false) return Visibility.Collapsed;
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message, "VisabilityConverterTwoBool");
Debug.WriteLine(values[0].ToString());
Debug.WriteLine(values[1].ToString());
}
return Visibility.Visible;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
return null;
}
}
如果我發送實際的多的另一半結合它的工作原理 (錯誤的結果,但沒有錯誤)
<Binding ElementName="cbEditMode" Path="IsChecked" />
但是,這只是正常
RWnet是一個布爾
<ContentPresenter Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2"
Visibility="{Binding Path=RWnet, Converter={StaticResource bvc}}"
x:Name="fieldTemplateDetail"
Content="{Binding}"
ContentTemplateSelector="{StaticResource fieldTemplateSelector}"/>
<BooleanToVisibilityConverter x:Key="bvc" />
for McGarnagle這是數據上下文
<ListBox Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="2" x:Name="lbCurDocFields"
ItemsSource="{Binding Source={StaticResource curDocFields}}" LostFocus="lbCurDocFields_LostFocus"
但它有一個可用的數據上下文。看到底部有效的例子。 ContentPresenter顯示來自同一個綁定的其他屬性。我將發佈ItemsSource綁定。 – Paparazzi
@Blam它顯示屬性,但是你確定它沒有顯示「未設置的值」,首先,在應用DataContext之前的一秒鐘內? – McGarnagle
即使我不明白你的答案,我插入它,它似乎工作。 +1現在。如果我不能打破它,我會給它一張支票。 – Paparazzi