Laden...

[erledigt] clickables ContentControl

Erstellt von ErfinderDesRades vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.338 Views
ErfinderDesRades Themenstarter:in
5.299 Beiträge seit 2008
vor 13 Jahren
[erledigt] clickables ContentControl

Hi!

Ich habe ein DataTemplate mit einem clickablen Control


    <DataTemplate DataType="{x:Type my:BreathCrumbRoot}">
      <ContentControl  MouseDown="ChangeFolder" >
        <ContentControl.Template>
          <ControlTemplate>
            <StackPanel Orientation="Horizontal">
              <TextBlock  Text="Root" />
              <Path Stroke="#FF272323" StrokeThickness="0.7" Data="m0,0l6,6l-6,6m6,-12l6,6l-6,6"/>
            </StackPanel>
          </ControlTemplate>
        </ContentControl.Template>
      </ContentControl>

Da habe ich jetzt mit dem Path-Dings eine eigene Zeichnung drangemacht. Allerdings wird das MouseDown nur ausgelöst, wenn man genau die Linie der Zeichnung trifft. (Und "natürlich", wenn man auf den Textblock klickst)

Wie kriegt man das hin, dass man beim Klick irgendwo in dieses ContentControl ein MouseDown erhält?

Der frühe Apfel fängt den Wurm.

L
862 Beiträge seit 2006
vor 13 Jahren

Das liegt daran dass WPF die Mauseingaben nur erfasst wenn du auf einem eingefärbten Bereich bist. Setzte mal die Background-Eigenschaft vom StackPanel auf Transparent. Dann solltest du die Mauseingaben erhalten.

ErfinderDesRades Themenstarter:in
5.299 Beiträge seit 2008
vor 13 Jahren

danke für den tip - geht tatsächlich, mussichmir merken.
Ich hab jetzt aber eine lsg gefunden, wo ich den Path in den textblock hineinmale:


    <DataTemplate DataType="{x:Type my:BreathCrumbRoot}">
      <TextBlock  MouseDown="ChangeFolder" Text="Root"  Margin="15,0" >
        <InlineUIContainer BaselineAlignment="Center">
          <Path Stroke="#FF272323" StrokeThickness="0.7" Data="m6,0l6,6l-6,6m6,-12l6,6l-6,6" />
        </InlineUIContainer>
      </TextBlock>
    </DataTemplate>

Der frühe Apfel fängt den Wurm.