【发布时间】:2015-09-22 14:35:48
【问题描述】:
首先,如果这个问题很愚蠢,我表示歉意,但我是 WPF 新手,并且在某些控件方面遇到了一些困难。
我有一个图像编辑器应用程序,该应用程序有几个图像微调控件,例如反转、旋转、缩放、亮度和对比度。
要编辑控件,用户选择他们想要编辑的控件,例如亮度,然后一个滑块会出现在图像的一侧(否则会隐藏)。
此滑块当前直接绑定到我的 ViewModel 中的一个属性以获取亮度。
我希望能够重用此 Slider 控件但动态设置绑定,例如当我选择 Zoom 控件时,相同的滑块将更改 Zoom 等等。
我是否应该使用某种空属性,它是指向另一个属性的指针,可以在需要时换出?
我不熟悉 WPF,但我确信有一种更整洁的方式来排序。
任何帮助将不胜感激。
目前我的样子是这样的。
XMAL 滑块控件
<Slider Grid.Row="0" IsSelectionRangeEnabled="True" SelectionStart="50" SelectionEnd="150" Grid.Column="1" Orientation="Vertical" Minimum="0" Maximum="200" Value="{Binding Brightness}" Visibility="{Binding IsBrightnessAndContrastEnabled, Converter={StaticResource VisibilityConverter}}">
IsBrightnessAndContrastEnabled 是一个简单的布尔值来决定是否显示滑块,
private int _brightness = 100;
public int Brightness
{
get { return _brightness;}
set
{
if (_brightness != value)
{
Set(() => Brightness, ref _brightness, value);
ChangeBrightnessAndContrastCommand.Execute(null);
}
}
}
【问题讨论】:
-
是的,我自己也在考虑这个选项,我会选择那个,我认为这可能是一个更容易的选择,但似乎不是。谢谢
标签: c# wpf xaml data-binding