2016-03-22 2 views
0

Ich habe ein Popup für ausgewählte Farben.Richten Sie das Optionsfeld auf die rechte Seite des Popup-Fensters aus.

<Popup x:Name="colorSelectorPopup"> 
    <Border BorderThickness="1" BorderBrush="Gray"> 
      <StackPanel HorizontalAlignment="Stretch"> 
       <Grid x:Name="colorSelectorTitle" Height="40" VerticalAlignment="Top"> 
        <TextBlock x:Name="popupTitle" TextTrimming="CharacterEllipsis" FontSize="16" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="8"/> 
       </Grid> 
       <ListView x:Name="colorList" HorizontalAlignment="Stretch" Background="White"> 
        <ListView.ItemTemplate> 
         <DataTemplate> 
          <Grid HorizontalAlignment="Stretch"> 
           <Grid.ColumnDefinitions> 
            <ColumnDefinition Width="*"/> 
            <ColumnDefinition Width="Auto"/> 
           </Grid.ColumnDefinitions> 
           <TextBlock Grid.Column="0" x:Name="tbColor" Text="{Binding ColorName}" Foreground="{Binding ForegroundColor}" HorizontalAlignment="Left"/> 
           <RadioButton Grid.Column="1" x:Name="radioColor" GroupName="colorRadio" Tag="{Binding SelectionColor}" MinWidth="32" Checked="radioColor_Checked"/> 
          </Grid> 
         </DataTemplate> 
        </ListView.ItemTemplate> 
       </ListView> 
      </StackPanel> 
    </Border> 
</Popup> 

Ich möchte, dass der Radio-Button auf der rechten Seite angezeigt wird. Aber es sieht wie auf dem Bild aus.

Wie kann ich den Radiobutton auf die rechte Seite verschieben?

enter image description here

+0

Fügen Sie einfach HorizontalAlignment = Right ?? –

+0

@Pedro G Dias Ich habe es versucht, aber hat nicht funktioniert. –

Antwort

0

Da das Gitter enthält nur 2 Spalten und die 2. Spalte enthält nur das Optionsfeld I die Spaltendefinition in eine feste mit einem für die 2. Stelle von auto gesetzt würde. Schau, ob das funktioniert.

<Grid.ColumnDefinitions> 
    <ColumnDefinition Width="*"/> 
    <ColumnDefinition Width="40"/> 
</Grid.ColumnDefinitions> 
1

Ich bekam die Antwort von here.

Durch Hinzufügen der folgenden XAML bekam ich die gewünschte Ausgabe.

<ListView.ItemContainerStyle> 
    <Style TargetType="ListViewItem"> 
     <Setter Property="HorizontalContentAlignment" Value="Stretch" /> 
    </Style> 
</ListView.ItemContainerStyle> 

Das funktioniert für mich. Ich habe meine XAML wie folgt aktualisiert

<Popup x:Name="colorSelectorPopup"> 
    <Border BorderThickness="1" BorderBrush="Gray"> 
      <StackPanel HorizontalAlignment="Stretch"> 
       <Grid x:Name="colorSelectorTitle" Height="40" VerticalAlignment="Top"> 
        <TextBlock x:Name="popupTitle" TextTrimming="CharacterEllipsis" FontSize="16" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="8"/> 
       </Grid> 
       <ListView x:Name="colorList" HorizontalAlignment="Stretch" Background="White"> 
       <ListView.ItemContainerStyle> 
           <Style TargetType="ListViewItem"> 
            <Setter Property="HorizontalContentAlignment" Value="Stretch" /> 
           </Style> 
        </ListView.ItemContainerStyle> 
        <ListView.ItemTemplate> 
         <DataTemplate> 
          <Grid HorizontalAlignment="Stretch"> 
           <Grid.ColumnDefinitions> 
            <ColumnDefinition Width="*"/> 
            <ColumnDefinition Width="Auto"/> 
           </Grid.ColumnDefinitions> 
           <TextBlock Grid.Column="0" x:Name="tbColor" Text="{Binding ColorName}" Foreground="{Binding ForegroundColor}" HorizontalAlignment="Left"/> 
           <RadioButton Grid.Column="1" x:Name="radioColor" GroupName="colorRadio" Tag="{Binding SelectionColor}" MinWidth="32" Checked="radioColor_Checked"/> 
          </Grid> 
         </DataTemplate> 
        </ListView.ItemTemplate> 
       </ListView> 
      </StackPanel> 
    </Border> 
</Popup> 
Verwandte Themen