wpf - 帮助我的WPF布局

标签 wpf telerik

我有WPF业务线应用程序。大部分内容都托管在标签的用户控件中。
我在寻找如何布局此布局时遇到问题,因此它适合任何分辨率(必要时进行滚动)。
这是代码中描述的问题,因为我真的不知道如何将其输入文本,如果不清楚,请让我知道我将尝试编写一些东西。

<Grid>
  <Grid.RowDefinitions>
    <RowDefinition Height="Auto"/> 
    <RowDefinition Height="*"/>
  </Grid.RowDefinitions>
  <Grid.ColumnDefinitions>
    <ColumnDefinition Width="*"></ColumnDefinition> <!--What i actually want to say here isn't "take all remaining space" but "take all remaining space without scrolling, 
                                                    and then scroll based on everything as if this was auto and no longer *-->
    <ColumnDefinition Width="Auto"></ColumnDefinition><!--But what happens for now is that since this is auto , it will not scroll at all untill the * column has fully scrolled-->
  </Grid.ColumnDefinitions>
  <StackPanel>
    <StackPanel Orientation="Horizontal">
      <Label></Label>
      <TextBox></TextBox>
    </StackPanel>
  </StackPanel>
  <StackPanel Grid.Column="1">
    <StackPanel Orientation="Horizontal">
      <button> <!-- I want the button's container to be in an auto column , don't 
               want it to take size away from the fields unless needed but don't
               want it to stay visible at the expense of the fields either -->
    </StackPanel>
  </StackPanel>
  <TelerikGrid:RadGridView Grid.Row="1" Grid.ColumnSpan="2">
    <TelerikGrid:RadGridView.Columns>
      <TelerikGrid:GridViewDataColumn Width="*"/>  <!--  This makes my grid take a bajillon kilometers because it itself is in a Grid's column of * size itself in a scrollviewer -->
    </TelerikGrid:RadGridView.Columns>
  </TelerikGrid:RadGridView>
</Grid>

最佳答案

很难说,我无法在Window中加载GridView控件。

我建议将控件的布局管理器Grid嵌套在Grid中,以在控件和GridView之间建立分隔。您还应该考虑将所有控件合并在一个StackPanel或其他布局管理器中。

无论如何,无论您选择布局管理器如何,此布局都使您可以在控件和GridView之间进行分隔,而无需指定列范围。

<Grid> 
  <Grid.RowDefinitions> 
    <RowDefinition Height="Auto"/>  
    <RowDefinition Height="*"/> 
  </Grid.RowDefinitions> 
  <Grid.ColumnDefinitions> 
    <ColumnDefinition />
  </Grid.ColumnDefinitions> 

  <!-- Place a layout Grid inside your Grid to deal with controls -->
  <Grid Grid.Column="0" Grid.Row="0">
    <Grid.RowDefinitions>
       <RowDefinition/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
       <ColumnDefinition />
       <ColumnDefinition Width="Auto"/>
    </Grid.ColumnDefinitions>

    <!-- Removed your nested stack panel -->  
    <StackPanel Grid.Column="0" Grid.Row="0" Orientation="Horizontal"> 
      <Label></Label> 
      <TextBox></TextBox> 
    </StackPanel> 
    <StackPanel Grid.Column="1" Grid.Row="0" Orientation="Horizontal"> 
      <Button /> 
    </StackPanel> 
  </Grid>

  <!-- Add a spilter bar here  -->

  <!-- No need to span 2 columns anymore...  -->
  <TelerikGrid:RadGridView Grid.Column="0" Grid.Row="1" > 
    <TelerikGrid:RadGridView.Columns> 
      <TelerikGrid:GridViewDataColumn Width="*"/>  
    </TelerikGrid:RadGridView.Columns> 
  </TelerikGrid:RadGridView> 

  <!-- Add a status bar here -->

</Grid> 

关于wpf - 帮助我的WPF布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3540757/

相关文章:

wpf - RibbonMenuButton 样式和模板

wpf - 将 VM 事件绑定(bind)到 XAML 中的命令

wpf - 在 WPF 文本 block 中获取段落的最佳方法是什么? (换行符?)

asp.net - 我可以用什么最好的隐形角色来替换?

c# - Telerik GridView 粘贴

javascript - 我 Hook 哪些事件以使用 ASP.NET 和 Telerik 的 Ajax rad 控件初始化 javascript?

wpf - GetLocalValueEnumerator() 未返回所有属性

wpf - 如何对 WPF 工具包 DataGrid 上的 DataGridTemplateColumn 进行排序?

jquery - 在 KendoGrid 中重新绑定(bind) DropDownList,具体取决于同一行上其他 DropDownList 中选择的值

javascript - Kendo Grid 未在 Web API 中调用 HttpDelete 方法