我应该编写OnPropertyChanged和BooleanToVisibilityConverter的代码吗?

时间:2018-04-24 15:45:52

标签: c# wpf

我不明白。我一直在关注一些教程并在线阅读一些文章,有时使用OnPropertyChanged甚至没有编写代码。

            PropertyChangedEventHandler handler = PropertyChanged;
        if (handler != null)
        {
            handler(this, new PropertyChangedEventArgs(name));
        }

对于BooleanToVisibilityConverter,我发现用户创建它是这样的:

 public class BoolToVisibilityConverter : IValueConverter
    {
        public object Convert(object value, Type targetType,
            object parameter, CultureInfo culture)
        {
            return (bool)value ? Visibility.Visible : Visibility.Hidden;
        }

        public object ConvertBack(object value, Type targetType,
            object parameter, CultureInfo culture)
        {
            return (Visibility)value == Visibility.Visible;
        }
    }

但是当我写Converter={StaticResource ....}时,BooleanToVisibilityConverter显示甚至没有上面的代码。所以我的问题是,这些函数是在库中的某个地方还是你必须自己编写它们。

1 个答案:

答案 0 :(得分:2)

您展示的示例是使用git checkout feature^ git branch feature_b Parse.initialize(new Parse.Configuration.Builder(this) .applicationId("YOUR_APP_ID") .server("http://localhost:1337/parse/") .build() ); 。如果Hidden,内置转换器为false

这是我的观点,但我认为很多人创造了自己的,因为它为他们提供了添加额外功能的能力。我自己,我总是自己创建并使用Collapsed,以便我可以控制false时的内容。

我不太关注你的PropertyChanged问题。

如果parameter为空,那么您的false将为空,并且不会执行。您不需要编写任何其他代码。幕后的WPF钩住了它。您不必做任何其他事情,除非要求您发信号通知您已更新房产。 WPF知道要抓住它,因为它在你的对象上看到了PropertyChanged

我希望这是有道理的。