0

ページの高さを取得するにはどうすればよいですか? ページ内のすべての要素の高さ。

たとえば、ページを作成するこの XAML がある場合、実行時に高さを取得するにはどうすればよいですか?

<Page x:Class="DialogViews.SomeError"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
      mc:Ignorable="d" 
      d:DesignHeight="300" d:DesignWidth="400"
    Title="SomeMessage">

    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="50" />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>

        <Label Grid.Row="0" Style="{StaticResource ResourceKey=DialogTitleError}">A Problem</Label>
        <TextBlock Grid.Row="1" Style="{StaticResource ResourceKey=DialogMsg}">
            Some message to user
        </TextBlock>
        <Label Grid.Row="2" HorizontalAlignment="Right">
            <Hyperlink>
                Some link for info
            </Hyperlink>
        </Label>
    </Grid>
</Page>

理由:

ユーザーにダイアログ メッセージとして表示されるカスタム ウィンドウを作成しました。ウィンドウには、このページを含むフレームが含まれています。ウィンドウの高さをページの高さに固定しようとしています。

私が試してみました:

myPage.Height; //NaN
myPage.ActualHeight; //0
4

3 に答える 3

1

Window のサイズをユーザー コントロールに合わせたい場合は、WindowのSizeToContentプロパティをPage試してみることをお勧めします。

 <Window x:Class "MyNameSpace.MyWindow"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         SizeToContent="Height" />

高さ - ウィンドウが幅ではなくコンテンツの高さに合わせて高さを自動的に設定することを指定します。

編集:これにより、フレームに合わせてウィンドウが引き伸ばされます。フレームは、ページの幅/高さで変更されるように設定されていることを願っています。

于 2012-11-30T18:44:06.763 に答える
0

試してみてください

this.Height;<br/>
this.Width;
于 2012-11-30T18:39:27.437 に答える
0

何方をお探しですか

  SystemParameters.FixedFrameVerticalBorderWidth
  SystemParameters.FixedFrameHorizontalBorderHeight
  SystemParameters.WindowCaptionHeight

このmsdnリンクを確認してください

于 2012-11-30T18:11:28.857 に答える