Announcement

Collapse
No announcement yet.

XAML: HorizontalContentAlignment in Kombination mit Width funktioniert nicht

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • XAML: HorizontalContentAlignment in Kombination mit Width funktioniert nicht

    Code:
    <Button Width="200"  >
           <StackPanel Orientation="Horizontal">
                    <Menu Background="Transparent" >
                            <MenuItem Header="{Binding variablerText}" Width="195" HorizontalContentAlignment="Center">
                                 <MenuItem Header="egal" />
                           </MenuItem>
                     </Menu>
            </StackPanel>
    </Button>
    Der Button hat eine fest definierte Breite von 200. Der variable Text im Button kann wesentlich kürzer sein. Damit man auch im textfreien Bereich des Buttons das Menü öffnen kann, hab ich Width für den Header auf 195 gesetzt.

    Nun möchte ich aber, dass der Text mittig im Button steht. Deshalb hab ich HorizontalContentAlignment="Center" hinzugefügt. Tut er aber nicht, er steht linksbündig. Wenn ich Width="195" entferne, steht der Text wie gewollt mittig, aber ein Klick vor oder hinter dem Text öffnet nicht das Menü.

    Ich denke, das ist ein Bug im VC# 2010 Express. Gibt es Abhilfe?

    Danke, Günther
    Günther

  • #2
    Hallo,

    was ist wenn HorizontalContentAlignment direkt beim MenuItem gesetzt wird od. wenn es dort nicht geht als Content vom MenuItem einen TextBlock mit HorizontalContentAlignment verwenden.

    mfG Gü
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment


    • #3
      Das HorizontalContentAlignment steht doch direkt beim MenuItem.
      Und ein Content kennt das MenuItem nicht.
      Günther

      Comment


      • #4
        Hallo,

        verdammt - ich meinte HorizontalAlignment (wobei ich es jetzt schon fast falsch geschrieben hätte).

        mfG Gü
        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

        Comment


        • #5
          Aber mit HorizontalAlignment funktioniert es genauso wenig. Gibt es überhaupt die Möglichkeit, in einem Menü die Texte mittig oder rechtsbündig zu schreiben?
          Günther

          Comment


          • #6
            Auf Stackoverflow hab ich was gefunden, und das funzt:
            Code:
            <Button Width="206" IsEnabled="{Binding IsSelected}" Visibility="{Binding LstatusVis}"  >
                   <StackPanel Orientation="Horizontal"  >
                        <Menu Background="Transparent" >
                              <MenuItem Width="200" SubmenuOpened="StatusButton_SubmenuOpened" HorizontalContentAlignment="Stretch">
                                    <MenuItem.Header>
                                          <TextBlock Text="{Binding Lstatus}" HorizontalAlignment="Center" ></TextBlock>
                                     </MenuItem.Header>
                              <MenuItem />
                          </MenuItem>
                       </Menu>
                   </StackPanel>
              </Button>
            Als nächstes muß ich noch eine MVVM Lösung für StatusButton_SubmenuOpened finden, aber das ist ein anderes Ding...
            Günther

            Comment

            Working...
            X