Laden...

WPF: DatePicker.CalendarStyle in CustomControl überschreiben und auf Elemente zugreifen

Erstellt von p!lle vor 7 Jahren Letzter Beitrag vor 7 Jahren 1.113 Views
p!lle Themenstarter:in
1.040 Beiträge seit 2007
vor 7 Jahren
WPF: DatePicker.CalendarStyle in CustomControl überschreiben und auf Elemente zugreifen

Moin,

ich möchte in einem Custom Control einen DatePicker nutzen und in diesem den CalendarStyle überschreiben (Inhalt irrelevant).

<DatePicker.CalendarStyle>
	<Style TargetType="{x:Type Calendar}">
		<Setter Property="Template">
			<Setter.Value>
				<ControlTemplate TargetType="{x:Type Calendar}">
					<Button Name="BUTTON_INSIDE" Content="Test" />
				</ControlTemplate>
			</Setter.Value>
		</Setter>
	</Style>
</DatePicker.CalendarStyle>

Im Custom Control möchte ich nun zu einem späteren Zeitpunkt auf den Button nochmal zugreifen.
Leider komme ich auf keinem Weg an ihn heran:*CustomControl.GetTemplateChild *DatePicker.Template.FindName *DatePicker.FindName

Überschreibe ich den Style des DatePickers, kann ich über DatePicker.Template.FindName an Elemente herankommen. Leider ist der Calendar des DatePickers auch nicht öffentlich.

Jemand eine Idee?

S
506 Beiträge seit 2006
vor 7 Jahren

Kommst vielleicht über Bindings an ihn heran? (z.B. CommandBinding für Click)

Wenn du selbst nicht von der Klasse erbst, kannst du es mal im Binding mit "RelativeSource Find Ancestor" probieren. Nur so ne idee.