Autor Beitrag
Norbert1966
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mi 24.09.08 07:47 
Moinmoin,

wie kann man TabControl, TabItem und anderen WPF-Layoutcontainer (z.B. DockPanel) ableiten oder über einen bestimmten Namespace im Xaml zur Verfügung stellen ?

Hintergrund ist folgender:
Paralell baue ich einen Silverlight und einen WPF-Client, wobei das Layout nur einmalig definiert wird. Leider befinden sich bei Silverlight nicht alle im gleichen namespace, da einige Steuerelemente in einem anderen Assembly von Microsoft implementiert wurden.

Im folgenden Beispiel funktioniert das einwandfrei, da StackPanel und TextBlock im Defaultnamespace zu finden sind. Das TabControl ist in WPF auch im Defaultnamespace, aber bei Silverlight im "my"-Namespace.

Neutrales Layout:
ausblenden XML-Daten
1:
2:
3:
<StackPanel>
    <TextBlock>Test</TextBlock>        
</StackPanel>


Silverlight:
ausblenden XML-Daten
1:
2:
3:
4:
5:
6:
7:
<UserControl xmlns:my="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Extended"  x:Class="SilverlightApplication3.Page"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Width="400" Height="300">
    <StackPanel>
        <TextBlock>Test</TextBlock>        
    </StackPanel>
</UserControl>


WPF:
ausblenden XML-Daten
1:
2:
3:
4:
5:
6:
7:
<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <StackPanel>
        <TextBlock>Test</TextBlock>
    </StackPanel>
</Window>


Bei den "normalen" Steuerelementen bin ich ohnehin hingegangen und habe diese in UserControls gekapselt, da hier auch nicht immer die MS-Origanlsteuerelemente zum Einsatz kommen. Nur bei den Layoutcontainern habe ich noch keinen weg gefunden, die in einem eigenen Namespace bzw. einer Ableitung unter zu bringen.

Gruß
Norbert

Moderiert von user profile iconChristian S.: B-Tags durch XML- bzw. Highlight-Tags ersetzt
jpkleinau
Hält's aus hier
Beiträge: 16

Vista
XAML, C#
BeitragVerfasst: Mo 06.10.08 17:39 
Verstehe ich das richtig?

Du willst die Controls aus der System.Windows.Controls.Extended class library (also dem ex: Namespace) in WPF und Silverlight im gleichen XAML drin haben und durch Code Behind trennen?