2016-04-16 8 views
0

scrollBarVisibilitycheckBoxプロパティIsCheckedにバインドしたいと思います。 IsCheckedがtrueの場合scrollBarVisibilityが表示される必要があります。ScrollBar.Visibilityへのチェックボックスのバインド

XAML:

<Controls:MetroWindow.Resources> 
    <local:Nustatymai x:Key="checkBox_keitejas" /> 
</Controls:MetroWindow.Resources> 
<!-- ..... --> 
<ScrollViewer Name="tempimas" IsEnabled="True" VerticalScrollBarVisibility="Disabled" 
       Height="795" HorizontalScrollBarVisibility="{Binding IsChecked, ElementName=check1, 
       Converter={StaticResource checkBox_keitejas}}" > 
</ScrollViewer> 
<!-- ..... --> 
<WrapPanel> 
    <TextBlock>Rodyti apatini scrollBar</TextBlock> 
    <CheckBox Name="check1" IsChecked="True"/> 
</WrapPanel> 

Cの#:今、このコードの場合

class Nustatymai : IValueConverter 
{ 
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
     if ((bool)value == true) 
      return ScrollBarVisibility.Visible; 
     else 
      return ScrollBarVisibility.Hidden; 
    } 

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
     throw new NotImplementedException(); 
    } 
} 

は私のために働いていないと私はそれを解決するためにあなたの助けが必要!

+0

スクロールバーが表示されない場合でもスクロールバーが表示/非表示になったり、コンテンツがスクロールされたりすることがありますか? – dkozl

答えて

0

コードが実際に動作しますが、スクロールビューアの高さに問題があると思います。窓の高さで確認してください。

1

これを行うにはコンバータは必要ありません。

<ScrollViewer Name="tempimas" IsEnabled="True" VerticalScrollBarVisibility="Visible" 
       Height="100"> 
       <ScrollViewer.Style> 
        <Style TargetType="ScrollViewer"> 
         <Setter Property="HorizontalScrollBarVisibility" Value="Disabled"/> 
         <Style.Triggers> 
          <DataTrigger Binding="{Binding ElementName=check1, Path=IsChecked}" Value="True"> 
           <Setter Property="HorizontalScrollBarVisibility" Value="Visible" /> 
          </DataTrigger> 
         </Style.Triggers> 
        </Style> 
       </ScrollViewer.Style> 
      </ScrollViewer> 
      <WrapPanel> 
       <TextBlock>Rodyti apatini scrollBar</TextBlock> 
       <CheckBox Name="check1" IsChecked="True"/> 
      </WrapPanel> 
関連する問題