myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » GUI: WPF und XAML » Größe vom UserControl an ContentControl Anpassen.
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Größe vom UserControl an ContentControl Anpassen.

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Duesmannr Duesmannr ist männlich
myCSharp.de-Mitglied

Dabei seit: 28.04.2017
Beiträge: 76
Entwicklungsumgebung: Visual Studio 2017/19
Herkunft: Münster


Duesmannr ist offline

Größe vom UserControl an ContentControl Anpassen.

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Moin,

ich habe ein UserControl mit drei Buttons.
  1. Oben links
  2. Oben rechts
  3. Unten rechts
Und das XAML in dem UserControl Tag

XML-Code:
xmlns:local="clr-namespace:UploaderWPF.Views"
             mc:Ignorable="d" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">

Im Anhang ist das ausgeführte Programm, worin das ContentControl mit den Einstellungen ist:

XML-Code:
<ContentControl Grid.Row="2" Content="{Binding Path=CurrentPageViewModel}" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch"/>

Darin sieht man auch das UserControl, wo der rechte untere Button nicht angezeigt wird, weil das UserControl nicht an das ContentControl angepasst wird.
Aber egal was ich probiere, es ist immer gleich groß.

Die Infos aus dem  Link hab ich als letztes probiert, funktioniert aber auch nicht. Woran kann es liegen oder übersehe ich einfach irgendwas?

Grüße

Duesmannr hat dieses Bild (verkleinerte Version) angehängt:
MainWindow.png
Volle Bildgröße

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Duesmannr am 29.07.2020 12:17.

Neuer Beitrag 29.07.2020 12:16 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.426
Herkunft: Leipzig


MrSparkle ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von Duesmannr:
Aber egal was ich probiere, es ist immer gleich groß.

Was hast du denn probiert? Alles, was wir sehen, ist eine Fläche mit zwei Buttons.

Zitat von Duesmannr:
funktioniert aber auch nicht

Poste doch mal den relevanten Code!
Neuer Beitrag 29.07.2020 18:13 Beiträge des Benutzers | zu Buddylist hinzufügen
Duesmannr Duesmannr ist männlich
myCSharp.de-Mitglied

Dabei seit: 28.04.2017
Beiträge: 76
Entwicklungsumgebung: Visual Studio 2017/19
Herkunft: Münster

Themenstarter Thema begonnen von Duesmannr

Duesmannr ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von MrSparkle:
Poste doch mal den relevanten Code!

UserControl XAML:

XML-Code:
<UserControl x:Class="UploaderWPF.Views.HomeView"
             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"
             xmlns:local="clr-namespace:UploaderWPF.Views"
             mc:Ignorable="d" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"
>
    <Grid Background="Magenta">
        <Button Content="Button" HorizontalAlignment="Left" Margin="2,0,0,0" VerticalAlignment="Center" RenderTransformOrigin="0.5,0.5" Height="716" Width="242"></Button>
        <Button Content="Button" HorizontalAlignment="Left" Margin="543,0,0,0" VerticalAlignment="Top" Height="186" Width="537"/>
        <Button Content="Button" HorizontalAlignment="Left" Margin="969,655,0,0" VerticalAlignment="Top" RenderTransformOrigin="2.141,2.56" Height="55" Width="101"/>
    </Grid>
</UserControl>

Das XAML mit dem Grid worin das ContentControl ist:

XML-Code:
<Grid Grid.Column="2">
            <Grid.RowDefinitions>
                <RowDefinition Height="30"></RowDefinition>
                <RowDefinition Height="3"></RowDefinition>
                <RowDefinition Height="*"></RowDefinition>
            </Grid.RowDefinitions>
            <StackPanel Grid.Row="0" Orientation="Horizontal">
                <Button Background="Transparent" BorderThickness="0" Width="150" Content="Startseite" Command="{Binding ChangeViewToHome}" CommandParameter="Home"/>
                <Separator>
                    <Separator.LayoutTransform>
                        <RotateTransform Angle="90" />
                    </Separator.LayoutTransform>
                </Separator>
                <Button Background="Transparent" BorderThickness="0" Width="150" Content="Statistik" Command="{Binding ChangeViewToStatistics}" CommandParameter="Statistics"/>
                <Separator>
                    <Separator.LayoutTransform>
                        <RotateTransform Angle="90" />
                    </Separator.LayoutTransform>
                </Separator>
                <Button Background="Transparent" BorderThickness="0" Width="150" Content="Einstellungen" Command="{Binding ChangeViewToSettings}" CommandParameter="Settings"/>
            </StackPanel>
            <customcontrols:ExtendedGridSplitter Cursor="Arrow" HorizontalAlignment="Stretch" Grid.Row="1" Height="3"></customcontrols:ExtendedGridSplitter>
            <ContentControl Grid.Row="2" Content="{Binding Path=CurrentPageViewModel}" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch"/>
        </Grid>

Die Logik mit dem Wechseln der UserControls ist wie  hier.

Sonst hat nirgend etwas eine Funktion oder Logik.

Zitat von MrSparkle:
Was hast du denn probiert? Alles, was wir sehen, ist eine Fläche mit zwei Buttons.

Damit meine ich, mit dem Setzen der Eigenschaften von den ganzen *Alignments im ContentControl und im UserControl Tag.
Nichts anderes, weil mir nichts anderes einfällt und ich nichts anderes im Internet finde.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Duesmannr am 29.07.2020 20:39.

Neuer Beitrag 29.07.2020 20:39 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Th69
myCSharp.de-Poweruser/ Experte

avatar-2578.jpg


Dabei seit: 01.04.2008
Beiträge: 3.677
Entwicklungsumgebung: Visual Studio 2015/17


Th69 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Du hast doch feste Werte für Breite und Höhe bei den Buttons angegeben (sowie eigenartige Margin-Werte)...
Neuer Beitrag 29.07.2020 21:12 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Duesmannr Duesmannr ist männlich
myCSharp.de-Mitglied

Dabei seit: 28.04.2017
Beiträge: 76
Entwicklungsumgebung: Visual Studio 2017/19
Herkunft: Münster

Themenstarter Thema begonnen von Duesmannr

Duesmannr ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von Th69:
Du hast doch feste Werte für Breite und Höhe bei den Buttons angegeben (sowie eigenartige Margin-Werte)...

Die Margin Werte kommen vom Drag&Drop.

Also kann man das UserControl nicht an das ContentControl Anpassen? Also das, dass UserControl die Größe ändert.
Neuer Beitrag 29.07.2020 21:19 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Th69
myCSharp.de-Poweruser/ Experte

avatar-2578.jpg


Dabei seit: 01.04.2008
Beiträge: 3.677
Entwicklungsumgebung: Visual Studio 2015/17


Th69 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Doch, das UserControl wird der Größe angepaßt, nur die Buttons hast du ja an festen Positionen (Marginwerte relativ zu links-oben) angegeben.

Lösche doch mal die Marginwerte und gib vernünftige Alignments an.
Wenn du den einen Button immer unten rechts haben willst, dann

XML-Code:
HorizontalAlignment="Right" VerticalAlignment="Bottom"

Und was sollen die RenderTransformOrigin-Werte? Willst du noch zusätzlich Transformationen durchführen?

Bei XAML immer der Reihe nach die Eigenschaften setzen, bis du das gewünschte Ergebnis hast (ansonsten können sich mehrere Eigenschaften gegenseitig ungewollt beeinflussen).
Neuer Beitrag 29.07.2020 21:50 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Duesmannr Duesmannr ist männlich
myCSharp.de-Mitglied

Dabei seit: 28.04.2017
Beiträge: 76
Entwicklungsumgebung: Visual Studio 2017/19
Herkunft: Münster

Themenstarter Thema begonnen von Duesmannr

Duesmannr ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von Th69:
Und was sollen die RenderTransformOrigin-Werte? Willst du noch zusätzlich Transformationen durchführen?

Kam alles vom Drag&Drop, weil ich es testen wollte.

Zitat von Th69:
Lösche doch mal die Marginwerte und gib vernünftige Alignments an.

Habe ich gemacht. Funktioniert nun einwandfrei.
Also nie feste Werte setzen.

Danke für die Hilfe!
Neuer Beitrag 29.07.2020 22:14 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 15.08.2020 07:11