Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么wpf中有如此多的从属财产是公开的?_C#_Wpf_Dependency Properties - Fatal编程技术网

C# 为什么wpf中有如此多的从属财产是公开的?

C# 为什么wpf中有如此多的从属财产是公开的?,c#,wpf,dependency-properties,C#,Wpf,Dependency Properties,在WPF中,有许多依赖属性及其CLR设置器和获取器标记为public。这是不好的,因为任何人都可以设置它们的值。我想知道如何创建只能从类内部设置的私有RenderTransform属性?您的结论是错误的:依赖性属性为公共并不意味着“任何人都可以设置其值” 如果您想要一个只能从类内部设置的依赖属性,通常的模式是创建一个私有depencendy属性键和一个公共依赖属性。在这个问题中可以找到一个详细的例子: 您的结论是错误的:依赖属性是公共的并不意味着“任何人都可以设置其值” 如果您想要一个只能从

在WPF中,有许多依赖属性及其CLR设置器和获取器标记为public。这是不好的,因为任何人都可以设置它们的值。我想知道如何创建只能从类内部设置的私有
RenderTransform
属性?

您的结论是错误的:依赖性属性为公共并不意味着“任何人都可以设置其值”

如果您想要一个只能从类内部设置的依赖属性,通常的模式是创建一个私有depencendy属性键和一个公共依赖属性。在这个问题中可以找到一个详细的例子:


您的结论是错误的:依赖属性是公共的并不意味着“任何人都可以设置其值”

如果您想要一个只能从类内部设置的依赖属性,通常的模式是创建一个私有depencendy属性键和一个公共依赖属性。在这个问题中可以找到一个详细的例子:


它们是公共的,因为它们必须通过XAML进行设置(可设置属性必须是公共的)。也就是说…这不是坏事(拥有一个无人能改变的财产有什么意义?!)最后……你认为你能用私有依赖属性做什么?@Adriano我这里有一个在用户控件中使用私有依赖属性的工作用例@Adriano readonly依赖属性在你想向样式触发器传递某种状态时很有用。@Adriano最后一句描述了我要尝试的内容archieve:safety.@Adriano,当然没有必要将它们设置为私有,但是由于定义用户控件中将显示哪个UI编辑器的属性只在控件内部使用,我不想将这些属性公开给外界。它们是公共的,因为它们必须通过XAML进行设置(可设置属性必须是公共的)。也就是说…这不是坏事(拥有一个无人能改变的财产有什么意义?!)最后……你认为你能用私有依赖属性做什么?@Adriano我这里有一个在用户控件中使用私有依赖属性的工作用例@Adriano readonly依赖属性在你想向样式触发器传递某种状态时很有用。@Adriano最后一句描述了我要尝试的内容archieve:safety.@Adriano,当然没有必要将它们设置为私有,但由于定义用户控件中将显示哪个UI编辑器的属性仅在控件内部使用,我不想将属性公开给外部世界。“任何人都可以设置其值”,如果CLR setter是公共的。“任何人都可以设置其值”如果CLR设置程序是公共的。