如何将记录的用户名与DataTrigger进行比较

时间:2013-01-03 18:10:11

标签: c# wpf xaml data-binding code-behind

我正在尝试比较XAML中已记录用户名的名称。我在代码隐藏中使用"System.Threading.Thread.CurrentPrincipal.Identity.Name"在变量中设置它,我试图将其设置为DataTrigger中的值,但Visual Studio告诉我,我不能在{{1}中使用Binding }值,仅限于DataTriggerDependencyProperty

我尝试了一千种方法,但我总是得到同样的错误。有什么想法吗?

DependencyObject

1 个答案:

答案 0 :(得分:0)

您可以使用评估为true/false的{​​{3}},并将此true/false用作DataTrigger中的值条件。

public class UserNameToBooleanConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        var username = (string)value;
        if (username == "System.Threading.Thread.CurrentPrincipal.Identity.Name")
          return true;
        return false;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }