WPF - Kann ich aufhören Usercontrol seinen Namen untergeordneten Elemente ausgesetzt wird?
-
19-08-2019 - |
Frage
Dies ist ein bisschen wie eine Noob Frage, aber ich habe gemerkt, dass, wenn ich erstelle ein Benutzersteuerelement, und wählen Sie einige ihrer untergeordneten Elemente a la nennen -
<UserControl x:Class="UserControls.uControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="300" Width="300">
<Grid x:Name="maingrid">
</Grid>
dann kann ich die genannten Elemente in dem Code-behind der konsumiere XAML verweisen. So zum Beispiel oben i schreiben könnte
uControl.mainGrid = new Grid();
Ich bin neugierig, warum dies der Fall ist und was noch wichtiger ist, wie kann ich diese Kontrollen sicher einkapseln kann.
Wie üblich, jede mögliche Hilfe wäre wirklich zu schätzen.
Lösung
Was Sie wollen, ist das x:FieldModifier
Attribut:
<UserControl x:Class="UserControls.uControl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="300" Height="300">
<Grid x:Name="maingrid" x:FieldModifier="private">
</Grid>
</UserControl>
Die Standardeinstellung ist interne , aus irgendeinem Grund. Sie können mehr darüber lesen hier .
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow