Hej Leute,
Sorry schon mal für den Titel, weiß nicht ob der 100% verständlich ist 😛.
Also folgendes:
Ich will, ähnlich wie in WebBrowsern, mehrer "Seiten" mit dem sogenannten "TabControl" verwalten.
Das funktioniert auch soweit ohne Probleme, aber das "x" um den Tab zu schließen bekomme ich einfach nicht auf die Beine!
Ich weiß nicht warum!, wenn ich dem Button das Event "Click" hinzufüge, macht er mir schon vorschläge welche Funktion in der Class ich verwenden will. Wenn ich dann das Programm Compilieren will sagt er mir immer:
enthält keine Definition für... keine Erweiterungsmethode (Fehlt eine Using-Direktive oder ein Assemblyverweis?)
Nein! , oder?
Wichtiger QuellCode:
Mein SteuerElement_Code
namespace AiP_Oberflaeche
{
public class MyTabItem : TabItem
{
public MyTabItem()
{
}
private void Button_Click(object sender, RoutedEventArgs e)
{
}
}
}
Mein SteuerElement_xaml
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:AiP_Oberflaeche"
x:Class="MyTabItem"
>
<Style TargetType="{x:Type local:MyTabItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:MyTabItem}">
<ContentPresenter .../>
<Button Click="Button_Click" " />
............
Ich habe keine Ahnung woran das liegen könnte, oder is mein kompletter Ansatz falsch?
Danke schonmal für die Hilfe!
Mfg ThrYleR
muss es nicht
public partial class MyTabItem : TabItem
heissen??
cSharp Projekte : https://github.com/jogibear9988
Ja eig. schon, aber es zeigt keine Auswirkungen
Hat keiner eine Idee?!
Es muss doch möglich sein ein eigenes Control zu schreiben?
Mein Blend3 ist jetzt mit der Weile soweit das wenn ich es compilieren stürzt das Programm komplett ab, VS08 tut dies nicht.
*Push*
Mfg
ThrYleR
Hallo ThrYleR,
Ein Weg wäre folgender:
MyTabItem.xaml:
<TabItem x:Class="Test_011.MyTabItem"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="300" Width="300">
<Grid>
<Button Click="Button_Click" />
</Grid>
</TabItem>
MyTabItem.xaml.cs:
using System.Windows.Controls;
using System.Windows;
namespace Test_011
{
/// <summary>
/// Interaktionslogik für MyTabItem.xaml
/// </summary>
public partial class MyTabItem : TabItem
{
public MyTabItem()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
//-- TODO...
}
}
}
mfg XaN
Hej, cool danke. Klappt soweit echt spitze, jetzt ist leider aber das nächste Problem aufgetreten.
Natürlich will ich auch Triggers hinzufügen, aber das geht nun, aus mir nicht logischen Gründen nicht.
FehlerMeldung:
"Sobald ein TriggerCollection-Objekt verwendet wird (versiegelt ist), kann es nicht mehr geändert werden"
Was die bedeutet ist klar, warum, aber nicht!^^
Bitte um Hilfe, Dankeschonmal!
Meine CustomControl:
<TabItem
x:Class="TestAppi.Data.MyTabItem"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:r="clr-namespace:TestAppi.Data"
Height="66" Width="200"
>
<TabItem.Template>
<ControlTemplate>
<Grid Width="177" Height="30" x:Name="tabItemGrid1">
<Border Margin="0" x:Name="Border" Background="#ffffff" BorderBrush="#556688" BorderThickness="0,0.5,2,0" CornerRadius="0,10,0,0">
<ContentPresenter HorizontalAlignment="Center" Margin="12,2,12,2" VerticalAlignment="Center" ></ContentPresenter>
</Border>
<Button Click="Button_Click" HorizontalAlignment="Right" Margin="0,8,15.833,5.73" VerticalAlignment="Stretch" Width="15.333" Height="Auto" Content="-" ></Button>
</Grid>
<ControlTemplate.Triggers>
<Trigger>
.... Hier würd ich gerne meine Trigger auflisten...
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</TabItem.Template>
</TabItem>
Mfg
ThrYleR
Du musst die Trigger unter ControlTemplate.Triggers auflisten nicht unter Trigger.
Bei mir funktioniert das problemlos.
mfg,
XaN
Soo, danke nochmal für den Tipp. Hatte eigendlich auch alles Richtig!, .. ich sollte nur für Wochenende noch bissle ärger mit nach Hause nehmen 😜 .
Hab es gerade nochmal genauso gemacht wie Freitag, und jetzt geht alles ohne Probleme 🤔
Kann geschlossen werden
Danke nochmal
Mfg
ThrYleR