Joh*_*ohn 27 .net c# data-binding wpf
我正在尝试使用ElementName和Path 将控件绑定到父级的Height/width属性.但是,我不想绑定到实际高度,而是高度的一半.在能Path表达自己算算?
例如 Path={ActualHeight/2}
我找不到办法做到这一点.还有其他聪明的方法吗?
谢谢!
Rac*_*hel 40
我MathConverter在我的XAML绑定中使用a 来进行数学运算.转换器代码可以在这里找到,它的使用方式如下:
Height="{Binding ElementName=RootWindow, Path=ActualHeight,
Converter={StaticResource MathConverter},
ConverterParameter=@VALUE/2}"
Run Code Online (Sandbox Code Playgroud)
它还将处理更高级的数学方程式
Height="{Binding ElementName=RootWindow, Path=ActualHeight,
Converter={StaticResource MathConverter},
ConverterParameter=((@VALUE-200)*.3)}"
Run Code Online (Sandbox Code Playgroud)
Ars*_*yan 23
不,你不应该使用绑定转换器
public class MyConverter : IValueConverter
{
public object Convert(object value, Type targetType,
object parameter, CultureInfo culture)
{
return (int)value/2;
}
public object ConvertBack(object value, Type targetType,
object parameter, CultureInfo culture)
{
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
不,标准绑定不支持Path中的表达式.但是你可以看看我的项目CalcBinding,它是专门为解决这个问题而开发的.说,你可以这样写:
<Button Content="{c:Binding ElementName=grid, Path=ActualWidth+Height}"/>
Run Code Online (Sandbox Code Playgroud)
要么
<Label Content="{c:Binding A+B+C }" />
Run Code Online (Sandbox Code Playgroud)
要么
<Button Visibility="{c:Binding IsChecked, FalseToVisibility=Hidden}" />
Run Code Online (Sandbox Code Playgroud)
其中A,B,C,IsChecked - viewModel的属性,它将正常工作
祝好运!
| 归档时间: |
|
| 查看次数: |
18835 次 |
| 最近记录: |