3

現在取り組んでいる WPF プロジェクトのページを使用しています。ただし、ページの幅、またはページをホストするウィンドウの幅を変更する方法がわかりませんか?

ページ幅プロパティを設定すると、ウィンドウ フレーム内のページの幅のみが変更されます。

次の方法でメインウィンドウまたはナビゲーションウィンドウを設定します。

<Application.MainWindow>
    <Window Width="400" />
</Application.MainWindow>

<Application.MainWindow>
    <NavigationWindow Width="400" />
</Application.MainWindow>

どちらも機能しません。では、XAML でウィンドウの幅を設定するにはどうすればよいですか?

4

2 に答える 2

2

それは確かに面倒です: ページにナビゲートできる NavigationWindow が必要です。これは Window から継承されるため、このコンテナーの高さと幅を設定できます。
-新しい wpf アプリケーションを開きます -取得した標準 window1 を削除します

App.xaml を次のように変更します (StartupUri 属性を削除します)。

<Application x:Class="WpfApplication1.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Startup="Application_Startup">
<Application.Resources>

</Application.Resources>
</Application>

App.xaml.cs を次のように記述します。

    public partial class App : Application
{
    private NavigationWindow navigationWindow;

    private void Application_Startup(object sender, StartupEventArgs e)
    {
        navigationWindow = new NavigationWindow();
        navigationWindow.Height = 200;
        navigationWindow.Width = 100;
        var page = new Page1();
        navigationWindow.Navigate(page);
        navigationWindow.Show();
    }

プロジェクトメニューからページを追加できます。これにより、次のような結果が得られます。

<Page x:Class="WpfApplication1.Page1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Page1">
<Grid>
    <TextBlock>test</TextBlock>
</Grid>
</Page>

幸運を!

于 2009-10-25T22:01:13.253 に答える
0

Window 自体のサイズを設定する方法を知りたい場合は、Window の XAML ファイルを開いて、Width/Height プロパティを設定します。

Window Width="640" Height="480"

実際に差分が必要な場合。ページあたりのウィンドウ サイズ。さらに作業を行う必要があります。Page の使用可能な不動産は、ホスト Window によって制御されます。ページがホストからより多くの不動産を要求する本質的な方法はありませんが、ホスト ウィンドウが認識し、ページの作成者が適用できるいくつかの添付プロパティを作成することで、iwn アプリにサポートを組み込むことができます。ページが読み込まれると、ホストはこれらのプロパティが設定されているかどうかを確認し、それに応じて独自の幅を調整できます。

于 2009-10-25T20:19:51.260 に答える