Domanda

Sto usando le pagine del progetto WPF su cui sto attualmente lavorando. Tuttavia, non riesco a capire come modificare la larghezza di una pagina, o meglio, la larghezza della finestra che ospita le pagine?

L'impostazione della proprietà larghezza pagina modifica solo la larghezza della pagina all'interno della cornice della finestra.

Impostazione del con della finestra principale o della finestra di navigazione tramite:

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

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

Neanche funziona. Quindi, come posso impostare la larghezza della finestra in XAML?

È stato utile?

Soluzione

È davvero una seccatura: hai bisogno di una finestra di navigazione in grado di navigare alla pagina. Poiché questo eredita da Window, puoi impostare Altezza e Larghezza su questo contenitore.
-Apri una nuova applicazione wpf
-elimina la finestra standard1 che ricevi.

Modifica App.xaml in questo modo (elimina l'attributo 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>

Scrivi App.xaml.cs così:

    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();
    }

puoi aggiungere una pagina dal menu del progetto. Questo ti darà qualcosa del tipo:

<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>

Buona fortuna!

Altri suggerimenti

Se stai solo chiedendo come impostare le dimensioni della finestra stessa, apri il file XAML della finestra e imposta le proprietà Larghezza / Altezza:

Window Width="640" Height="480"

Se vuoi davvero un diff. Dimensioni della finestra per pagina, devi fare un po 'più di lavoro. L'immobiliare disponibile per una Pagina è controllato dalla Finestra host. Non esiste un modo intrinseco per una Pagina di richiedere più beni immobili dall'host, ma è possibile integrare il supporto nella propria app iwn creando alcune proprietà annesse che la finestra dell'host conosce e che possono essere applicate dall'autore della Pagina. Quando la pagina viene caricata, l'host può verificare se queste proprietà sono impostate e regolare la propria larghezza di conseguenza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top