【发布时间】:2009-04-20 11:58:56
【问题描述】:
如何将 Silverlight 项目中使用的 System.Windows.Controls.DatePicker 控件设置为 ReadOnly ?
我似乎无法在 Xaml 或后面的代码中设置任何属性。
【问题讨论】:
如何将 Silverlight 项目中使用的 System.Windows.Controls.DatePicker 控件设置为 ReadOnly ?
我似乎无法在 Xaml 或后面的代码中设置任何属性。
【问题讨论】:
我找到了日期选择器的源代码并添加了一个 ReadOnly 属性。
..和“是的”有一个值得这样做的理由。我想要有 3 个状态:
3 的风格是我的偏好,但特别是我想区分禁用的控件(灰色)和只读“视觉”明智。
不确定是否要发布代码(有很多)...或者是否有人仍然感兴趣 ;-)
【讨论】:
我解决了为 DatePickerTextBox 控件设置新样式的问题。此控件是 DatePicker 样式的一部分。然后使用这些行,您可以将所有可以访问此样式的 DatePicker 控件设为只读。这只会使 readonly 手动编辑日期,用户仍然可以使用下拉按钮选择日期。
<Style TargetType="prim:DatePickerTextBox">
<Setter Property="IsReadOnly" Value="True"/>
</Style>
【讨论】:
你为什么想要?
DatePicker 是一个美化的组合框,它会下拉日历而不是列表。如果它变成只读,那么它实际上是一个只读文本框?
如果它纯粹是为了外观,那么一种解决方法是制作控件模板的副本并对其进行编辑,使其“禁用”状态看起来与其“活动”状态相同,然后在您需要只读行为时将其设置为禁用。
【讨论】:
仅处理日期更改事件并抑制它并将其恢复为今天的日期(或其他某个设定的日期)怎么样?
【讨论】: