如何将Silverlight DatePicker控件设置为ReadOnly?

时间:2009-04-20 11:58:57

标签: silverlight datepicker

如何将Silverlight项目中使用的System.Windows.Controls.DatePicker控件设置为ReadOnly?

似乎没有任何属性可以在Xaml或后面的代码中设置。

4 个答案:

答案 0 :(得分:1)

我找到了datepicker的源代码,并添加了一个ReadOnly属性。

..和"是"这有一个值得的理由。我想要有3个州:

  1. 正常
  2. 已停用(显示为灰色)
  3. ReadOnly(没有灰显,没有日历按钮......也改变了文本框的边框,使其看起来像标签)
  4. 3&#39的风格是我的偏好,但具体来说我想区分禁用的控件(灰显)和只读#34; visual"明智的。

    不确定发布代码(那里有很多)......或者是否还有人感兴趣; - )

答案 1 :(得分:1)

我解决了为DatePickerTextBox控件设置新样式的问题。此控件是DatePicker样式的一部分。然后使用这些行,您可以使所有可以只读访问此样式的DatePicker控件。这只能手动编辑日期,用户仍然可以使用下拉按钮选择日期。

<Style TargetType="prim:DatePickerTextBox">
  <Setter Property="IsReadOnly" Value="True"/>
</Style>

答案 2 :(得分:0)

你为什么要这样做?

DatePicker是一个美化的组合框,可以删除日历而不是列表。如果它只是被读取,那么它实际上是一个只读文本框?

&LT;编辑&gt; 如果它纯粹是为了外观,那么一个解决方法是复制控件模板并对其进行编辑,使其处于Disabled状态看起来与它的Active状态相同,然后在需要只读行为时将其设置为disabled。 / p>

答案 3 :(得分:-1)

如何处理日期更改事件并将其取消并将其恢复到今天的日期(或其他某个设定日期)呢?