Мне нужно передать имя элемента управления методу в объекте безопасности, который возвращает логическое значение для свойства IsEnabled и другой метод, который возвращает его видимость (сложенная, скрытая или видимая). Эти оба должны быть проверены для целей разрешения.Привязка к кнопкам Свойства IsEnabled/Visibility с использованием x: Имя в качестве параметра в методе в коде для кода
Я попытался использовать ObjectDataProvider, но все примеры показывают только пользовательский ввод из текстового поля для параметров. Мне нужно передать управляющее имя методу, основанному на свойстве x: Name кнопки.
Что является самым простым и эффективным способом решения этой проблемы. Заранее спасибо.
UPDATE: Я пытаюсь использовать конвертер и это метод преобразования я придумал:
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>
Я попытался использовать конвертер, проблема, с которой я столкнулся, заключается в том, что конвертеру необходимо было передать объект безопасности для доступа к разрешениям. Я создал многозначный конвертер, который использует имя элемента управления и таблицу для разрешений. Я получаю эту ошибку, когда пытаюсь использовать конвертер: «Невозможно применить объект типа« System.Data ».DataTable ', чтобы напечатать «System.String». » – jes9582 2010-12-01 15:28:38