0
我有一個ItemsControl綁定到一個ObservableCollection並在ViewModelBase中有一個名爲IsVisible的屬性。綁定轉換器總是返回相同的數據值
我已經爲ItemsControl的ItemTemplate設置了DataTemplate。
<DataTemplate x:Key="MyDataTemplate">
<Grid Margin="40,0,50,0" Background="Red" VerticalAlignment="Bottom">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding Category}"
Style="{StaticResource MyTextBolckStyle}"
Visibility="{Binding IsVisible, Converter={StaticResource BooleanToVisibilityConverter}}"/>
<TextBox Grid.Row="1" Width="280"
BorderBrush="Black"
BorderThickness="2"
Height="60"
HorizontalAlignment="Left"
Text="{Binding IsVisible}"
Padding="5,5,0,0"
TextWrapping="NoWrap"/>
</Grid>
</DataTemplate>
,這是我BooleanToVisiblityCoverter
public object Convert(object value, Type targetType, object parameter, string language)
{
var val = System.Convert.ToBoolean(value);
if (val)
{
return Visibility.Visible;
}
return Visibility.Collapsed;
}
的轉換方法,這是奇怪的結果我得到:
正如你可以看到每次IsVisible屬性是真的,TextBlock的可見性是可見的,它工作正常,但每當IsVisibe屬性爲false時,我期望Tex的可見性tBlock被摺疊,但在我看來,它是隱藏的,因爲有一個白色空間,而不是TextBlock,因爲我正在與銀光,沒有Visibility.Hidden枚舉那裏,我真的不知道什麼問題是,我很困惑。
所以請幫助我。任何幫助表示讚賞。
我沒有使用.NET框架,但我自己的轉換器。它是相同的。 – user3530012