Control um eine Property erweitern

  • WPF

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von SeriTools.

    Control um eine Property erweitern

    Wahrscheinlich völlig banal, aber ich trau mich trotzdem zu fragen: Wie erweitere ich ein Control in VB .Net & WPF (FW 4.51)? Ziel ist es, dem Control "Image" einfach eine weitere Property zu geben. Ich bin bisher so vorgegangen:

    VB.NET-Quellcode

    1. Imports System.Windows.Controls.Primitives
    2. Public Class Block
    3. Inherits Image
    4. Shared Sub New()
    5. 'Mit dem OverrideMetadata-Aufruf wird dem System mitgeteilt, dass das Element einen Stil bereitstellen möchte, der sich von seiner Basisklasse unterscheidet.
    6. 'Dieser Stil ist unter "themes\generic.xaml" definiert.
    7. DefaultStyleKeyProperty.OverrideMetadata(GetType(Block), New FrameworkPropertyMetadata(GetType(Block)))
    8. End Sub
    9. Public Property BeispielString As String
    10. End Class


    In meinem Startfenster möchte ich jetzt diese Property auf "HalloWelt" setzen:

    VB.NET-Quellcode

    1. <Window
    2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    4. xmlns:local="clr-namespace:Klötze" x:Class="MainWindow"
    5. Title="MainWindow" Height="350" Width="525">
    6. <Grid>
    7. <local:Block BeispielString="Hallo Welt!" HorizontalAlignment="Left" Height="100" VerticalAlignment="Top" Width="100"/>
    8. </Grid>
    9. </Window


    Ich bekomme aber den Fehler: "Der Member "BeispielString" wurde nicht erkannt, oder es kann nicht auf den Member zugegriffen werden."
    keine Ahnung - bei mir funzt dein "Control"

    Falls das ein IcontTextblock oder sowas werden soll - habich vor längerem mal was ausgearbeitet.
    Aber dann doch nur selten verwendet, weil man zB mittm .Net - HeaderedItemControl solche Sachen auch im Xaml basteln kann.

    Annererseits vlt. doch auch ganz witzig mein IconTextblock, denn der setzt die ImageGröße in Relation zur Schriftgröße - das kann ansonsten nämlich recht nervig werden.