如何在 uwp 中使用 DoubleToVisibilityConverter
How to use DoubleToVisibilityConverter in uwp
DoubleToVisibilityConverter 可用于根据给定的阈值轻松地将双精度值更改为基于可见性的值。如果同时设置了 GreaterThan 和 LessThan,如果目标值介于这两个值之间,转换器将设置可见性。否则,它将查找大于或小于指定值的目标。
所以我的问题是----
如何将 DoubleToVisibilityConverter 用于滚动查看器,因为我想隐藏(返回顶部)按钮和滚动条最后处于向下位置,当滚动条向上时,它将显示按钮.
我正在使用返回顶部按钮滚动到顶部。
[与在许多网站中的工作相同(向上滚动按钮)]
下面一个是MainPage.xaml
XAML - 页面资源
<Page.Resources>
<converters:DoubleToVisibilityConverter x:Key="GreaterThanToleranceVisibilityConverter" GreaterThan="65.0"/>
</Page.Resources>
XAML - Ui 元素
<Button x:name="Scroll_To_Up_Button" Visibility="{Binding ScrollableHeight, Converter{StaticResourceGreaterThanToleranceVisibilityConverter}/>
我必须添加的地方
ScrollableHeight
在MainPage.xaml.cs中以及如何在MyUWP App中使用
您是否尝试添加参数,例如
<Button x:name="Scroll_To_Up_Button" Visibility="{Binding ScrollableHeight, Converter={StaticResource GreaterThanToleranceVisibilityConverter}, ConverterParameter=42/>
编辑:
为您的页面命名:
<Page Name="thisPage"
... >
然后将您的绑定源指向它以访问依赖项 属性 ScrollableHeight
如果这是您声明的类型:
<Button x:name="Scroll_To_Up_Button" Visibility="{Binding ScrollableHeight, ElementName=thisPage, Converter={StaticResource GreaterThanToleranceVisibilityConverter}, ConverterParameter=42/>
以及 MainPage.xaml.cs
中的依赖项 属性:
public static readonly DependencyProperty ScrollableHeightProperty = DependencyProperty.Register(nameof(ScrollableHeight), typeof(int), typeof(*NAMEOFYOURPAGE*), new PropertyMetadata(null));
public int ScrollableHeight
{
get => (int)GetValue(ScrollableHeightProperty);
set => SetValue(ScrollableHeightProperty, value);
}
绑定DoubleToVisibilityConverter
不需要在MainPage.xaml.cs
中写代码。您可以在 MainPage.xaml
文件中设置 DoubleToVisibilityConverter
实例的 GreaterThan
属性 或 LessThan
属性。并且您应该绑定 ScrollViewer.VerticalOffset
属性 来获取内容垂直滚动的距离,而不是 ScrollViewer.ScrollableHeight 属性 如果确定了 ScrollViewer 的内容,则后者是一个常量。
DoubleToVisibilityConverter
的用法可以参考document。
请检查以下代码作为示例:
<Page.Resources>
<converters:DoubleToVisibilityConverter x:Key="GreaterThanToleranceVisibilityConverter"
GreaterThan="100" TrueValue="Visible" FalseValue="Collapsed"/>
</Page.Resources>
<StackPanel>
<ScrollViewer x:Name="scrollViewer" Width="300" Height="300" VerticalScrollBarVisibility="Visible"
VerticalScrollMode="Enabled">
<TextBlock Text="111122222222222222222222222222222222211111111111111111111111111"
Width="10" TextWrapping="Wrap"
/>
</ScrollViewer>
<Button x:Name="Scroll_To_Up_Button" Content="back to up" Click="Scroll_To_Up_Button_Click" Margin="10"
Visibility="{Binding VerticalOffset,ElementName=scrollViewer,
Converter={StaticResource GreaterThanToleranceVisibilityConverter},FallbackValue=Collapsed,
TargetNullValue=Collapsed
}"/>
</StackPanel>
DoubleToVisibilityConverter 可用于根据给定的阈值轻松地将双精度值更改为基于可见性的值。如果同时设置了 GreaterThan 和 LessThan,如果目标值介于这两个值之间,转换器将设置可见性。否则,它将查找大于或小于指定值的目标。
所以我的问题是----
如何将 DoubleToVisibilityConverter 用于滚动查看器,因为我想隐藏(返回顶部)按钮和滚动条最后处于向下位置,当滚动条向上时,它将显示按钮.
我正在使用返回顶部按钮滚动到顶部。
[与在许多网站中的工作相同(向上滚动按钮)]
下面一个是MainPage.xaml
XAML - 页面资源
<Page.Resources>
<converters:DoubleToVisibilityConverter x:Key="GreaterThanToleranceVisibilityConverter" GreaterThan="65.0"/>
</Page.Resources>
XAML - Ui 元素
<Button x:name="Scroll_To_Up_Button" Visibility="{Binding ScrollableHeight, Converter{StaticResourceGreaterThanToleranceVisibilityConverter}/>
我必须添加的地方
ScrollableHeight
在MainPage.xaml.cs中以及如何在MyUWP App中使用
您是否尝试添加参数,例如
<Button x:name="Scroll_To_Up_Button" Visibility="{Binding ScrollableHeight, Converter={StaticResource GreaterThanToleranceVisibilityConverter}, ConverterParameter=42/>
编辑:
为您的页面命名:
<Page Name="thisPage"
... >
然后将您的绑定源指向它以访问依赖项 属性 ScrollableHeight
如果这是您声明的类型:
<Button x:name="Scroll_To_Up_Button" Visibility="{Binding ScrollableHeight, ElementName=thisPage, Converter={StaticResource GreaterThanToleranceVisibilityConverter}, ConverterParameter=42/>
以及 MainPage.xaml.cs
中的依赖项 属性:
public static readonly DependencyProperty ScrollableHeightProperty = DependencyProperty.Register(nameof(ScrollableHeight), typeof(int), typeof(*NAMEOFYOURPAGE*), new PropertyMetadata(null));
public int ScrollableHeight
{
get => (int)GetValue(ScrollableHeightProperty);
set => SetValue(ScrollableHeightProperty, value);
}
绑定DoubleToVisibilityConverter
不需要在MainPage.xaml.cs
中写代码。您可以在 MainPage.xaml
文件中设置 DoubleToVisibilityConverter
实例的 GreaterThan
属性 或 LessThan
属性。并且您应该绑定 ScrollViewer.VerticalOffset
属性 来获取内容垂直滚动的距离,而不是 ScrollViewer.ScrollableHeight 属性 如果确定了 ScrollViewer 的内容,则后者是一个常量。
DoubleToVisibilityConverter
的用法可以参考document。
请检查以下代码作为示例:
<Page.Resources>
<converters:DoubleToVisibilityConverter x:Key="GreaterThanToleranceVisibilityConverter"
GreaterThan="100" TrueValue="Visible" FalseValue="Collapsed"/>
</Page.Resources>
<StackPanel>
<ScrollViewer x:Name="scrollViewer" Width="300" Height="300" VerticalScrollBarVisibility="Visible"
VerticalScrollMode="Enabled">
<TextBlock Text="111122222222222222222222222222222222211111111111111111111111111"
Width="10" TextWrapping="Wrap"
/>
</ScrollViewer>
<Button x:Name="Scroll_To_Up_Button" Content="back to up" Click="Scroll_To_Up_Button_Click" Margin="10"
Visibility="{Binding VerticalOffset,ElementName=scrollViewer,
Converter={StaticResource GreaterThanToleranceVisibilityConverter},FallbackValue=Collapsed,
TargetNullValue=Collapsed
}"/>
</StackPanel>