Wie kann ich die System.Windows.Controls.DatePicker
Steuerelement, das in einem Silverlight-Projekt verwendet wird, auf ReadOnly ?
Es scheint keine Eigenschaften zu geben, die ich innerhalb der Xaml oder Code dahinter festlegen kann.
Wie kann ich die System.Windows.Controls.DatePicker
Steuerelement, das in einem Silverlight-Projekt verwendet wird, auf ReadOnly ?
Es scheint keine Eigenschaften zu geben, die ich innerhalb der Xaml oder Code dahinter festlegen kann.
Ich habe den Quellcode des Datepickers gefunden und eine ReadOnly-Eigenschaft hinzugefügt.
und "ja", es gibt einen guten Grund dafür, dies zu tun. Ich wollte 3 Staaten haben:
Der Stil von 3 war meine Präferenz, aber ich wollte insbesondere zwischen deaktivierten (ausgegrauten) und nur "visuell" lesbaren Steuerelementen unterscheiden.
War mir nicht sicher, ob ich den Code posten soll (es gibt viele)...oder ob noch jemand Interesse hat ;-)
Ich habe dieses Problem gelöst, indem ich einen neuen Stil für die DatePickerTextBox-Steuerelemente festgelegt habe. Dieses Steuerelement ist Teil des Stils des DatePicker. Mit diesen Zeilen können Sie dann alle DatePicker-Steuerelemente, die auf diesen Stil zugreifen können, schreibgeschützt machen. Dies macht nur die manuelle Bearbeitung des Datums schreibgeschützt, der Benutzer kann immer noch ein Datum mit der Dropdown-Schaltfläche auswählen.
<Style TargetType="prim:DatePickerTextBox">
<Setter Property="IsReadOnly" Value="True"/>
</Style>
Warum sollten Sie das wollen?
DatePicker ist eine glorifizierte Combobox, die einen Kalender anstelle einer Liste ausgibt. Wenn es nur gelesen werden soll, dann wäre es effektiv ein nur lesen Textfeld?
< Bearbeiten > Wenn es nur um das Aussehen geht, kann man eine Kopie der Steuerelementvorlage erstellen und sie so bearbeiten, dass ihr deaktivierter Zustand genauso aussieht wie ihr aktiver Zustand, und sie dann auf "deaktiviert" setzen, wenn Sie ein schreibgeschütztes Verhalten benötigen.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.