【问题标题】:Absolute position element WPF绝对位置元素 WPF
【发布时间】:2013-04-03 09:59:52
【问题描述】:

我想在对话框的右上角放置一个十字按钮,而不影响对话框其余部分的流程,与 CSS 相比,这似乎相当困难?

这当前将内容从右侧对齐约 20 像素,因为它仍在第 0 列中,并且第 1 列占用了该空间。理想情况下,所有内容都在StackPanel 中,关闭按钮位于右上角。失败了,我猜有可能使内容跨越两列?我该如何解决这个问题?

这是我当前的 XAML:

<Grid Margin="10">
    <Grid.ColumnDefinitions>
        <ColumnDefinition/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition/>
    </Grid.RowDefinitions>

    <StackPanel Grid.Row="0">
        <TextBlock x:Name="UI_DialogTitle" Style="{StaticResource i2_TitleTextBlock}" Text="{TemplateBinding DialogTitle}" Visibility="{TemplateBinding DialogTitleVisibility}" Margin="0,0,0,10"/>
        <ContentPresenter x:Name="TheContentPresenter"/>
    </StackPanel>

    <Button x:Name="UI_CloseDialog" Style="{StaticResource i2_CloseDialogButton}" Visibility="{TemplateBinding CloseButtonVisibility}" Grid.Column="1" Grid.Row="0"/>
</Grid>     

【问题讨论】:

  • 您能否添加一个抽象图像来显示当前渲染和所需渲染的情况,我没有得到您在 que 中的问题。The close buttonStackPanel Content 吗?
  • 您在寻找Grid.ColumnSpan 的房产吗?
  • 确实我是/曾经是 - 将发布使其一切正常的代码

标签: c# .net wpf silverlight xaml


【解决方案1】:

原来我需要 ColumnSpan 属性 - 现在一切正常!

<Grid Margin="10">
    <Grid.ColumnDefinitions>
        <ColumnDefinition/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition/>
    </Grid.RowDefinitions>

    <StackPanel Grid.Row="0" Grid.ColumnSpan="2">
        <TextBlock x:Name="UI_DialogTitle" Style="{StaticResource i2_TitleTextBlock}" Text="{TemplateBinding DialogTitle}" Visibility="{TemplateBinding DialogTitleVisibility}" Margin="0,0,0,10"/>
        <ContentPresenter x:Name="TheContentPresenter"/>
    </StackPanel>

    <Button x:Name="UI_CloseDialog" Style="{StaticResource i2_CloseDialogButton}" Visibility="{TemplateBinding CloseButtonVisibility}" Grid.Column="1" Grid.Row="0"/>
</Grid>  

【讨论】:

    【解决方案2】:

    我做过类似的事情。检查 btnClose 和屏幕截图。

    <Grid x:Name="LayoutRoot" Margin="2">
            <Border x:Name="PopupBorder" BorderBrush="SlateGray" BorderThickness="1.5" CornerRadius="12" Visibility="Visible" Opacity="20" Margin="0,0,0,0">
                <Border.Background>
                    <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                        <GradientStop Color="#FF000000"/>
                        <GradientStop Color="#CC4895DE" Offset="0.844"/>
                        <GradientStop Color="#FF346592" Offset="0.393"/>
                        <GradientStop Color="#FFFFFFFF" Offset="1"/>
                    </LinearGradientBrush>
                </Border.Background>
                <TextBox Height="26" Style="{StaticResource TextBoxStyle}" Margin="0,0,30,220" Name="txtQuotationNumber" Width="332" />
    
            </Border>
            **<Button Margin="0,4,4,0" Click="OKButton_Click" Cursor="Hand" x:Name="btnClose" Style="{StaticResource CloseStyleX}" VerticalAlignment="Top" ToolTipService.ToolTip="Close Popup"/>**
    
            -- Datagrid here
            -- COMBOBOX HERE
    
            <TextBox Height="26" Name="txtValue" IsTabStop="True" VerticalAlignment="Top" Margin="178,10,500,0"></TextBox>
            <Button Content="Search" Click="btnSearch_Click" Style="{StaticResource ButtonStyle}" Height="26" HorizontalAlignment="Right" Margin="0,10,37,0" Name="btnSearch" VerticalAlignment="Top" Width="104" />
        </Grid>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-28
      • 2011-05-29
      • 1970-01-01
      • 2014-06-18
      • 1970-01-01
      • 2011-09-23
      相关资源
      最近更新 更多