Ich versuche Benutzersteuerelemente in XAML zu verwenden, nach einer Weile und mehreren Lernprogrammen habe ich es geschafft, es "arbeiten" (lesen Sie "es baut ohne Fehler"). Aber wenn ich es ausführe, ist alles, was ich sehen kann (anstelle von 2 Testschildern) der Name der Klasse.Benutzersteuerung in XAML zeigt nur Name
Hier ist mein Code: Usercontrol:
<Grid xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Config.UCTest">
<Label Text="TEST" VerticalOptions="Center" HorizontalOptions="Center">TEST</Label>
<Label Text="TEST" VerticalOptions="Center" HorizontalOptions="Center" Margin="150,10,10,10">TEST</Label>
</Grid>
Codebehind Usercontrol:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;
namespace Config
{
public partial class UCTest : Grid
{
public UCTest()
{
InitializeComponent();
}
}
}
Hauptfenster:
<Window x:Class="Config.WPF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Config.WPF"
xmlns:control="clr-namespace:Config;assembly=Config"
mc:Ignorable="d"
Title="MainWindow" SizeToContent="WidthAndHeight" Height="154" Width="363">
<control:UCTest/>
</Window>
Codebehind Hauptfenster:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Config;
using System.IO;
namespace Config.WPF
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
}
BTW, "Config" ist nicht der Namespace, der im aktuellen Projekt verwendet wird. Es gibt ein Präfix, sodass es sich nicht auf einen C# -Konfigurations-Namespace bezieht. Ich habe das Präfix gelöscht, um das Quellprojekt auszublenden.
Wie Sie vielleicht bemerken, befinden sich MainWindow und usercontrol in verschiedenen Projekten, aber sie nehmen es so auf, wie es sollte. Wenn ich einen Fehler in das Benutzersteuerelement geschrieben habe, gab das Hauptfenster einen Fehler in der Zeile, in der der Benutzersteuerelement importiert wird. Auch der vollständige Name und der Namespace werden im Hauptfenster angezeigt. Sie kennen sich also gegenseitig. Aber ich kann nicht scheinen, die tatsächlichen Kontrollen dort zu zeigen.
Haben Sie versucht, die Werte für "Höhe" und "Breite" der Steuerung zu setzen? – Pikoh
Ja, habe das versucht, aber "BindableProperty" Height bekommen "ist nur lesen" Fehler – Lonefish
Da ich ein Anfänger in allen Dingen bin, die XAML betreffen, folgte ich einem Tutorial, Tutorial verwendet ein Gitter. Es kompiliert gut. Es läuft. Es verhält sich einfach nicht so, wie es soll. Habe auch andere Dinge versucht, aber sie haben gar nichts gemacht. Ich bin völlig offen für andere Ansätze, solange es zu arbeiten beginnt :) – Lonefish