代码之家  ›  专栏  ›  技术社区  ›  Jesse Hallam

为什么此组合框在其他PC上呈现不同?

  •  1
  • Jesse Hallam  · 技术社区  · 15 年前

    我正在解决WPF应用程序中组合框的PART\u弹出部分的定位问题。它的对齐方式不同,这取决于您在哪个系统上运行它。我没有足够的电脑来确定它背后的模式。

    编辑

    抱歉,图像不好。我要了一些大一点的。

    您可以这样想窗口的表面积(伪):

    <Grid>
      <Column>
        <StackPanel>
            <Button>Create Story</Button>
            <Button>Continue Story</Button>
            <Button>Close Story</Button>
        </StackPanel>
      </Column>
      <Column>
        <Border>
          <Grid>
            <Row>
              <Column><TextBlock>Story Name</TextBlock></Column>
              <Column><ComboBox ItemsSource="..." /></Column>
            </Row>
            <Row>
              <Column />
              <Column><Button /></Column>
            </Row>
          </Grid>
        </Border>
      </Column>
    </Grid>
    

    PC 1 alt text

    PC 2 alt text

    在一台电脑上,PART\u弹出窗口与控件的左边缘对齐。在另一台电脑上,它与右侧对齐。exe相同。

    组合框使用[此样式][3]作为 {DynamicResource} 。这个 ToggleButton 和 ComboBoxItem 有[这些样式][4]。

    编辑

    答复:

    • 两个屏幕截图都是在LtR计算机上捕获的。
    • 在原始图表中,没有回车;我们评论说存在多个ComboBoxItems。抱歉,照片不一致。
    • 为清晰起见,两张照片中都有一个ComboBoxItem。尽管如此,行为与>1个ComboBoxItem。
    • 有人建议我,应该是ComboBoxItem。内容变得太长(比此处所示的要长得多),一旦左侧的所有可用窗口空间都被占用,PART\u弹出窗口将开始向右调整大小。发生这种情况 只有 在PC#2上。
    3 回复  |  直到 15 年前
        1
  •  1
  •   Pygmy    15 年前

    我看到两张完全不同的照片。

    一个有故事按钮,另一个没有。 一个是单行文本框,另一个是多行文本框。 还有就是你的截图太暗了。。。

    或者换言之,你真的尽了最大努力让别人看不清楚。

        2
  •  0
  •   Joe White    15 年前

    由于Windows语言设置或类似设置,测试系统是否以从右到左的布局运行?

        3
  •  0
  •   nportelli    15 年前

    一个字符串看起来有回车符,另一个没有回车符。就系统而言,非常长的描述+它后面的所有错误都是一个单词。在那里输入一些返回值,看看是否有变化。您可能有一些容器动态调整大小,一个巨大的单词将使事情扩展。