我需要将控件名称传递给安全对象中的一个方法,该方法返回 IsEnabled 属性的布尔值和另一个返回其可见性(折叠、隐藏或可见)的方法。出于许可目的,必须检查这两者。
我尝试使用 ObjectDataProvider,但所有示例仅显示来自文本框的用户输入参数。我特别需要根据按钮的 x:Name 属性将控件名称传递给方法。
处理这个问题的最简单和最有效的方法是什么。提前致谢。
更新: 我正在尝试使用转换器,这是我想出的转换方法:
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (values != null)
{
DataTable tblPermissions = (DataTable)values[0];
string sFunctionName = values[1].ToString();
DataRow[] rows = tblPermissions.Select("fun_name = '" + sFunctionName + "'");
if ((bool)rows[0]["fun_enable"])
return true;
else
return false;
}
return string.Empty;
}
以下是xaml:
<Button.IsEnabled>
<MultiBinding Converter="{StaticResource IsFunctionEnabledConverter}">
<Binding ElementName="{StaticResource PermissionsTable}" />
<Binding ElementName="btnSave" Path="Name" />
</MultiBinding>
</Button.IsEnabled>