Laden...
T
tkrasinger myCSharp.de - Member
Softwareentwickler Enzesfeld (Niederösterreich) Dabei seit 26.03.2008 574 Beiträge
Benutzerbeschreibung

Forenbeiträge von tkrasinger Ingesamt 574 Beiträge

04.11.2011 - 15:52 Uhr
  1. Fenster größer: Geht nicht, im realen Programm stellt das Fenster den Bildschirm dar, und der wird nun mal nicht größer ...

  2. eine Minheight am Fenster, was soll das bringen?

  3. Das ist doch nur fürs Beispiel, die beiden Border mit Rahmen stellen "Inhalt" dar. Genausogut, könnte ich das machen:

<Border>
    <Grid x:Name="grd">
        <Grid.RowDefinitions>
            <RowDefinition Height="3*" x:Name="row1" MinHeight="80"/>
            <RowDefinition Height="7*" x:Name="row2"/>
        </Grid.RowDefinitions>
        <Border Background="LightGreen">
            <ScrollViewer VerticalScrollBarVisibility="Auto">
                <Border Background="Green" BorderBrush="Red" BorderThickness="6">
                    <StackPanel>
                        <TextBlock FontSize="36">Top1</TextBlock>
                        <TextBlock FontSize="36">Top2</TextBlock>
                        <TextBlock FontSize="36">Top3</TextBlock>
                        <TextBlock FontSize="36">Top4</TextBlock>
                    </StackPanel>
                </Border>
            </ScrollViewer>
        </Border>
        <Border Grid.Row="1" Background="LightBlue">
            <ScrollViewer VerticalScrollBarVisibility="Auto">
                <Border Background="Blue" BorderBrush="Black" BorderThickness="6">
                    <StackPanel>
                        <TextBlock FontSize="36">Bottom1</TextBlock>
                        <TextBlock FontSize="36">Bottom2</TextBlock>
                        <TextBlock FontSize="36">Bottom3</TextBlock>
                        <TextBlock FontSize="36">Bottom4</TextBlock>
                        <TextBlock FontSize="36">Bottom5</TextBlock>
                        <TextBlock FontSize="36">Bottom6</TextBlock>
                        <TextBlock FontSize="36">Bottom7</TextBlock>
                        <TextBlock FontSize="36">Bottom8</TextBlock>
                        <TextBlock FontSize="36">Bottom9</TextBlock>
                        <TextBlock FontSize="36">Bottom10</TextBlock>
                    </StackPanel>
                </Border>
            </ScrollViewer>
        </Border>
    </Grid>
</Border>
04.11.2011 - 15:06 Uhr

ok, verstanden, aber wie lös ich das jetzt?

mögliche Lösung:

private GridLength? original;

public TestWindow()
{
    InitializeComponent();

    ((FrameworkElement)grd.Parent).SizeChanged += new SizeChangedEventHandler(TestWindow_SizeChanged);
}

private void TestWindow_SizeChanged(object sender, SizeChangedEventArgs e)
{
    if (original == null)
    {
        original = row2.Height;
    }

    if (row1.ActualHeight > row1.MinHeight)
    {
        row2.Height = original.Value;
    }
    else
    {
        row2.Height = new GridLength(((FrameworkElement)sender).ActualHeight - row1.ActualHeight);
    }
}

Funktioniert, springt aber irgendwie ... irgendwelche besseren, evtl. direkt im XAML lösbaren Vorschläge? Hab diese Konstellation sicher 20 mal und will das nicht in jeder Maske so einfügen ...

04.11.2011 - 14:53 Uhr

ja, klar ist das Fenster zu klein, deswegen auch ScrollViewer. Zum Vergleich unten mal das Fenster, wenn man die MinHeight wegnimmt. Da weiß der 2. Scrollbalken auch, dass beim Fensterende Schluss ist ...

04.11.2011 - 14:38 Uhr
<Window x:Class="EnterWindowClassNameHere"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="TestWindow" Height="200" Width="300">
    <Grid>
        <Border>
            <Grid x:Name="grd">
                <Grid.RowDefinitions>
                    <RowDefinition Height="3*" MinHeight="80"/>
                    <RowDefinition Height="7*"/>
                </Grid.RowDefinitions>
                <Border Background="LightGreen">
                    <ScrollViewer VerticalScrollBarVisibility="Auto">
                        <Border Background="Green" BorderBrush="Red" BorderThickness="6" Height="100">
                            <TextBlock VerticalAlignment="Center" FontSize="36">Top</TextBlock>
                        </Border>
                    </ScrollViewer>
                </Border>
                <Border Grid.Row="1" Background="LightBlue">
                    <ScrollViewer VerticalScrollBarVisibility="Auto">
                        <Border Background="Blue" BorderBrush="Black" BorderThickness="6" Height="200">
                            <TextBlock VerticalAlignment="Center" FontSize="36">Bottom</TextBlock>
                        </Border>
                    </ScrollViewer>
                </Border>
            </Grid>
        </Border>
    </Grid>
</Window>

Der unterere Scrollviewer wird nicht mehr ganz angezeigt. Ist das ein Bug oder kann ich das irgendwie anderes gestalten, sodass ich in beiden Bereichen bis zum Ende scrollen kann und oben trotzdem die Mindesthöhe habe?
Wenn man nämlich die MinHeight rausnimmt gehts ...

24.10.2011 - 16:18 Uhr

Hab mal statt localhost die 127.0.0.1 oder die lokale IPv4 Adresse verwendet - da geht's bei mir. Es scheint, als würde rawcap nicht über IPv6 funktionieren.

Das hat bei mir nun etwas gebracht, jetzt seh ich wirklich nur mehr "meinen" traffic.

Wenn ich nun:

<security mode="None"/>

mit:

<security mode="Message">
   <transport clientCredentialType="Windows"/>
   <message clientCredentialType="Windows"/>
</security>

und

<security mode="Message">
   <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign"/>
   <message clientCredentialType="Windows"/>
</security>

vergleiche,
stelle ich fest, dass ich im "none" output meine "Daten" (hab da jetzt noch einen String mit allen Buchstaben groß/klein und allen Zahlen eingebaut) lesen kann. D.h. ich sehe "ABC...abc..7890" im output dieses trace. Ok.

Zwischen den beiden anderen traces kann ich jedoch nicht viel Unterschied feststellen. Soweit ich verstanden habe müsste ich doch dem "EncryptAndSign" irgendwo auch ein Zertifikat angeben? Ignoriert die WCF das dann einfach wenn sie nichts findet?

Wie gut "verschlüsselt" ist der Transport wenn ich nur Variante 2 nehme?

Danke allen für die Unterstützung!

24.10.2011 - 11:11 Uhr

Anbei mal mein Testprojekt auf das nötigste reduziert.

24.10.2011 - 08:57 Uhr

am XP Rechner mit einem User mit Admin-Rechten hab ich keine Chance, kommt immer der Fehler.
aufm Win7 Rechner mit Admin-User kann ich auf einer Ethernet Schnittstelle und dem Loopback Pseudo Interface sniffen. Allerdings kommt bei der Ethernet-Schnittstelle nur Sachen durch, die mich nicht interessieren und beim Loopback gar nichts.
Meinen Traffic seh ich also immer noch nicht ...

21.10.2011 - 17:01 Uhr

> RawCap

Fehlermeldung:
Unable to enter promiscuous mode (RCVALL_ON), using RCVALL_SOCKETLEVELONLY.

20.10.2011 - 17:04 Uhr

Mal so in den Raum geworfen ...

StringBuilder sb = new StringBuilder();
foreach(string antwort in antworten)
{
   sb.Append(antwort);
}
string result = sb.ToString().Replace(Environment.NewLine,String.Empty);
19.10.2011 - 21:08 Uhr

Sorry, ich schaffs einfach nicht. Ich bekomm weder im NetworkMonitor noch im Wireshark irgendwelche Packete angezeigt, wenn ich Daten von meinem WCF-ServiceHost hole.
Und im normale Message-Loging seh ich absolut keine Nachrichten und ich hab extra eine "LargeData" Property in meinen DataContract eingefügt, in dem ich relativ lange Strings erzeuge.

Mach ich da irgendwelche Einstellungsfehler in den Programmen?

19.10.2011 - 19:38 Uhr

Ich hab jetzt ein paar Netzwerk Monitore, Packetsniffer etc. probiert, aber ich bekomm es einfach nicht hin, die Packete, die zwischen meinem Client und meinem Host transferiert werden irgendwie zu überwachen.

Ich verwende als Endpunkt net.tcp://localhost:53000/MeinService oder net.tcp://MeineMaschine:53000/MeinService

hab ich irgendwelche Möglichkeiten die Messages zu sehen UND die darin enthaltenen Daten? (die seh ich nämlich im Trace nicht, selbst wenn ich logEntireMessage etc. einstelle)

04.10.2011 - 12:27 Uhr

Wenn du beim Hinzufügen einer bestehenden Datei im Dialog den "Add"-Button anschaust, siehst du da einen Pfeil daneben. Es gibt im VS die Möglichkeit Datein als Link ("Add As Link" ) hinzuzufügen ...

30.09.2011 - 11:04 Uhr

Ok und was mach ich wenn ich nur eine "Standard Edition" hab?

29.09.2011 - 13:03 Uhr

Da erschließt sich wieder mein alt bekanntes Problem: Der Entwickler (Lösungsgeber) kann das Problem erst erkennen, wenn der Fehlermelder auch alle Angaben gibt.
Meist ist es dann so, dass der Fehlermelder, wenn er dann die Angaben alle korrekt gesammelt hat, schon selber draufkommt was nicht stimmt und das Problem selbst behebt.

@blackdynamic
Hättest du von Anfang an erwähnt, dass du die Liste in einem Unit-Test überprüfst hätten wir uns wohl einige Beiträge (und Verwirrung) erspart ... 😉

29.09.2011 - 11:09 Uhr

Von was für einer "Liste" reden wir da? Irgendeine ListView/ItemsControl o.ä. im WPF-Bereich oder WinForms, Web oder sonst was?

29.09.2011 - 09:28 Uhr

naja, hast du denn den Event auch irgendwo registriert? Also fängst du irgendwo das "PropertyChanged" auf?

27.09.2011 - 12:18 Uhr

also rein theoretisch gehts natürlich ...

16.09.2011 - 13:59 Uhr

Kann das nicht ganz reproduzieren:

<Grid>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition Height="auto"/>
            <RowDefinition Height="auto"/>
        </Grid.RowDefinitions>
        <Grid x:Name="LayoutRoot" >
            <Grid.Resources>
                <Style TargetType="{x:Type Border}">
                    <Setter Property="BorderThickness" Value="5"/>
                    <Setter Property="BorderBrush" Value="Black"/>
                </Style>
            </Grid.Resources>
            <Grid.RowDefinitions>
                <RowDefinition Height="30*"/>
                <RowDefinition Height="70*"/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="70*" />
                <ColumnDefinition Width="30*"/>
            </Grid.ColumnDefinitions>
            <ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
                <Border Background="Red" x:Name="brdRed"></Border>
            </ScrollViewer>
            <Border Background="Blue" Grid.Column="1"></Border>
            <Border Background="Green" Grid.Row="1"></Border>
            <Border Background="Yellow" Grid.Row="1" Grid.Column="1"></Border>
        </Grid>
        <Slider Maximum="1000" Value="{Binding ElementName=brdRed, Path=Width}" Grid.Row="1"></Slider>
        <Slider Maximum="1000" Value="{Binding ElementName=brdRed, Path=Height}" Grid.Row="2"></Slider>
    </Grid>
</Grid>

Mit Hilfe der Slider kann man jetzt den roten Border vergrößern. Mit dem Scrollviewer kann man dann innterhalb der Zelle scrollen. Nimmt man den Scrollviewer raus, dann verschwindet lediglich der rote Border hinter den anderen Zellen. Die rechte untere Ecke wandert aus der Sichtbarkeit. An den anderen Zellen selbst verändert sich nichts ...

15.09.2011 - 10:53 Uhr
bool error = true;

foreach (var item in currentBeratung.Beratungsinhalte)
{
    if (item.IsSelected)
    {
        error = false;
    }
}

if (error)
{
    errors = AddToErrors("Es muss zumindest ein Beratungsinhalt angegeben werden", errors);
}
else
{
    error = true;
}

foreach (var item in currentBeratung.Beratungsergebnisse)
{
    if (item.IsSelected)
    {
        error = false;
    }
}

if (error)
{
    errors = AddToErrors("Es muss zumindest ein Beratungsergebnis angegeben werden", errors);
}
01.09.2011 - 14:09 Uhr

Ich hab die vom Toolkit in Verwendung, muss aber dazu sagen, dass ich da selbst noch einiges an Code dazugeschrieben habe um sie wirklich verwenden zu können.

PS: Könnte dir meinen Code schicken, solltest du keine Alternative finden

01.09.2011 - 11:17 Uhr

verwendetes Datenbanksystem: <SQL Server 2008 evtl. auch R2>

Ich bin im Moment nicht am Grübeln, wie ich die Daten verschlüssle, sondern eher wann und wo. Ich hab folgende Architektur: Client - WCF Service - BusinessLayer - DataLayer und Datenbankzugriff über EntityFramework.

Folgende Problem haben sich nun in meinen Überlegungen ergeben:

Wenn ich nun die Verschlüsselung Datenbank seitig mache, müsste ich meine Datenschicht, so umbauen, dass das EntityFramework (da es ja selbst keine Verschlüsselung kann) auf Views zugreift, die mir die Daten entschlüsselt gibt. Wobei ich mich dann frage, wie ich die View schütze, die dann die entschlüsselten Daten liefert ...

Die Zielsetzung ist klar damit definiert, die Daten in der Datenbank verschlüsselt zu haben. Nun muss ich aber auf diese Daten auch Auswertungen machen. Ich darf z.B. die Kontostände von Kunden nur verschlüsselt speichern. Wie mache ich nun eine Auswertung auf die Kontostände, um z.B. Durchschnittswerte oder so auszurechnen? Mein Reporting-System ist der SQL-Reporting-Server.

Irgendwie bin ich da sehr unschlüssig, wie und wo ich überhaupt anfangen soll. Kann mir da jemand mit ein paar Links oder Kommentaren weiterhelfen?

31.08.2011 - 15:37 Uhr

Da würde ich vorschlagen du schaust dir mal das Thema "ItemTemplate" an. Wenn du z.B. eine ListView nimmst und an ItemsSource der ListView deine 10 Personen bindest, kannst du der ListView ein ItemTemplate definieren, dass für jedes Item erstellt wird. In diesem kannst du dann deine Personendaten anzeigen wie du sie brauchst.

29.08.2011 - 12:58 Uhr
SELECT Kunde.*
FROM (
	SELECT 1 as ID, 'Mustermann' as Kunde
	UNION
	SELECT 2 as ID, 'Meier' as Kunde
) Kunde
LEFT JOIN (
	SELECT *
	FROM (
		SELECT 99 as ID, 'Nudeln' as Produkt, 8 as Sparte_ID, 1 as Kunde_ID
		UNION
		SELECT 100 as ID, 'Erbsen' as Produkt, 10 as Sparte_ID, 1 as Kunde_ID
		UNION
		SELECT 101 as ID, 'Linsen' as Produkt, 15 as Sparte_ID, 2 as Kunde_ID
	) Data
	) Produkt ON Kunde.ID = Produkt.Kunde_ID AND Produkt.Sparte_ID = 10
WHERE Produkt.Sparte_ID is null

Da ist kein Distinct oder so notwendig ... Flo's Lösung ist also zu 99% richtig

29.08.2011 - 10:18 Uhr

Ich hab dafür am SQL Server eine Funktion die das Überlappen von Zeitbereichen prüfen kann, aber bei dir würde auch folgende Variante genügen:

GesuchtJahr100+GesuchtMonat BETWEEN VonJahr100+VonMonat AND BisJahr*100 + BisMonat

29.08.2011 - 09:00 Uhr

Um nicht im Alter von 50 als alleinstehender Einstein oder Elvis dazustehen um mich dann in der Pension zu fragen, was es alles gebracht hat, habe ich in den letzten Jahren gelernt, auch mal Mort zu sein.
Ich würde aber diesen Job auch nicht machen, wenn ich nicht auch ein Elvis wäre. Ich kann mir auch nicht vorstellen, dass das jemand ohne diese Veranlagung mehr als 5 Jahre durchhält ...

25.08.2011 - 18:10 Uhr

ist das autoübersetzt? Ich versteh nix ...

25.08.2011 - 13:25 Uhr

Ich kann nur mal empfehlen dir das "Touchstudio" anzuschauen, evtl. kannst du ein paar Sachen auch damit abwickeln (www.touchdevelop.com)

PS:
Mit Mango soll glaube ich auch eine kostenfreie Variante kommen um seine eigenen Apps aufs Handy zu bekommen, da kann man dann irgendwie den Marketplace umgehen.

23.08.2011 - 07:59 Uhr

Du kannst ein neues Interface erstellen, das vom eigentliche Interfacen abgeleitet ist, und dieses um deine Property erweitert ...

18.08.2011 - 12:53 Uhr

Ich habs noch etwas anders:

Ich hab die beiden Version zeilen aus (je)der AssemblyInfo.cs herausgenommen und in eine eigene AssemblyInfo.Version.cs verschoben. In den einzelnen Projekten habe ich diese Datei per "Add as Link" hinzugefügt.

21.07.2011 - 16:34 Uhr

Ich weiß gar nicht, wie's im Moment mit Copyright überhaupt aussieht. Was kann man sich den schützen oder patentieren lassen?

Meines Erachtens ja nie Code sondern nur "Konzepte" oder Vorgangsweisen oder?

19.07.2011 - 14:11 Uhr

Das würde ich im richten GUI-Forum nachfragen ...

19.07.2011 - 13:01 Uhr

Außerdem ist LoadXml() falsch. Das lädt nämlich nur einen XML-String. Um XML aus einer Datei zu laden ist die Load()-Methode zu verwenden.

Kannst also das mit dem <?xml> vergessen ...

19.07.2011 - 12:57 Uhr

Ihr Root-Tag ist <Rack>

19.07.2011 - 12:25 Uhr

Na in dein File hinein, als oberste Zeile. XML-Dateien werden normalerweise oben mit dem XML-Tag gekennzeichnet, also z.B: <?xml version="1.0" encoding="UTF-8"?>

und na klar kommt es beim LoadXml(), wo auch sonst?

19.07.2011 - 11:45 Uhr

hm, evtl fehlt das <?xml> Tag ...

18.07.2011 - 12:55 Uhr

Bin mir nicht sicher ob GhostDoc das schafft, schließlich ist das da keine Vererbung sondern eine Methode die eine andere Methode aufruft. Out of the box geht das über Ghost-Doc denke ich auch nicht.

18.07.2011 - 08:37 Uhr

Was heißt "Bei Threads kann man Screenshots machen"? Wie bewerkstelligst du das denn? Manuell? Dann kannst du auch manuell einen Screenshot der Dateien machen.

Solltest du das tatsächlich programmatisch machen, würd ich dir für die Dateien den FileWatcher empfehlen.

28.06.2011 - 09:04 Uhr

und welche hast du als "unnötig" eingestuft?

22.06.2011 - 16:06 Uhr

Nur in XAML wird denke ich relativ schwer ... ich würd halt über eine DependecyProperty am UC2 gehen und die im DataTemplate binden ...

22.06.2011 - 15:05 Uhr

Wenn ich das richtig sehe ist dein DataContext für das UC2 ein ListItem aus der Property "public List<OwnClass> DataList".

Du gehst also von einem falschem DataContext für dein UC2 aus ...

22.06.2011 - 12:24 Uhr

Wer von euch verwendet die Code Analysis in VS 2010 und mit welchem RuleSet?

Mit dem "All"-RuleSet komm ich gar nicht zu Recht. Manche Warnings sind meines Erachtens auch schlichtweg falsch ...

21.06.2011 - 15:45 Uhr
decimal value = 1.23;
string culture = "de-AT";
string displayFormat = "Betrag = {0:C}";

string result = String.Format(System.Globalization.CultureInfo.GetCultureInfo(culture), displayFormat, value);

culture="de-AT"; displayFormat="Betrag = {0:C}"
ergibt: "Betrag = € 1,23"

culture="en-US"; displayFormat="Betrag = {0:C}"
ergibt: "Betrag = $ 1.23"

culture="de-AT"; displayFormat="2 Stellen {0:0.00}"
ergibt: "2 Stellen 1,23"

culture="en-US"; displayFormat="2 Stellen {0:0.00}"
ergibt: "2 Stellen 1.23"

14.06.2011 - 09:08 Uhr

Gibts eigentlich schon irgendwo einen Guide der vorgibt wie Programme für Win8 dann auszusehen haben? Wo sind Menüs, gibts rechte Maustasten, wo ist was anzuordnen etc?
Der Umstieg is ja doch relativ brutal und dann ein hübsches Win8 zu haben, wenn 95% der Programme dann komplett gegen dieses Design gehen ist auch irgendwie komisch. Ich frag mich halt, wie ich meine/unsere Anwendungen umdesignen müsste um sie Win8 näher zu bringen ...

09.06.2011 - 15:17 Uhr
SELECT * 
INTO #tmpData
FROM (
	SELECT 1 as Start, 3 as Ende, 'A' as ID	UNION 
	SELECT 2 as Start, 5 as Ende, 'B' as ID	UNION
	SELECT 4 as Start, 6 as Ende, 'C' as ID	UNION
	SELECT 7 as Start, 8 as Ende, 'D' as ID	UNION
	SELECT 9 as Start, 10 as Ende, 'E' as ID
) Data

SELECT d.ID as Item, d.Start, d.Ende, dnext.ID as NextIs, 
	dnext.Start as NStart, dnext.Ende as NEnde
FROM #tmpData d
JOIN #tmpData dnext on d.Ende < dNext.Start
JOIN (
	SELECT d.Start, d.Ende, MIN (dNext.Start) as DirectNext
	FROM #tmpData d
	JOIN #tmpData dnext on d.Ende < dNext.Start
	GROUP BY d.Start, d.Ende
) dcn on d.Start = dcn.Start AND d.Ende = dcn.Ende AND dnext.Start = dcn.DirectNext

DROP TABLE #tmpData
Item	Start	Ende	NextIs	NStart	NEnde
A	1	3	C	4	6
B	2	5	D	7	8
C	4	6	D	7	8
D	7	8	E	9	10
30.05.2011 - 15:43 Uhr

@Shion, wobei der Horror nur die Verwendung des ?: Operators im return ist, die Funktionen selbst sind in meinen Augen durchaus legitim, weil eine IsNull(int? value) Methode nämlich von "int" und "int?" aufrufbar ist, daher könnte man die IsNull() Funktion in dieser Hinsicht universell verwenden.
Brauchbar ist das z.B. wenn man irgendwo per Reflection Daten holt ...
Der Teil Bedingung ? true : false ist trotzdem Käse ... 😉

25.05.2011 - 17:06 Uhr

Schema.ini File (Text File Driver)

Schau mal bei "Specifying Data Type Formats and Conversions" den Punkt "DecimalSymbol"

Ich nehm an DecimalSymbol=. ins .ini-File hinzufügen wird genügen.

25.05.2011 - 16:54 Uhr

Hier mal ein Lösungsansatz. Eventuell kannst du das auf deine Anforderungen adaptieren, weiß nicht genau, wie die Tabellen aussehen und ob das tauschen so passt.
Weiß auch nicht genau was du mit "Firebird" im Titel meinst und ob du einen MS-SQL-Server verwendest, ich meine nämlich, dass das Tauschen in der Form nur am SQL-Server funktionieren wird.


SELECT *
INTO #tmp
FROM (
	SELECT 1 as Inc, 'A' as Bla
	UNION
	SELECT 2 as Inc, 'B' as Bla
	UNION
	SELECT 3 as Inc, 'C' as Bla
) Data

SELECT * FROM #tmp

DECLARE @von int
DECLARE @nach int
SET @von = 1
SET @nach = 3

UPDATE t1 SET Bla = t2.Bla
FROM #tmp t1
JOIN #tmp t2 ON t1.Inc != t2.Inc
WHERE t1.Inc in (@von,@nach) AND t2.Inc in (@von,@nach)

SELECT * FROM #tmp

DROP TABLE #tmp

PS:
Das Tauschen funkioniert logisch auch nur, wenn INC eindeutig ist. Wenn INC=Von oder INC=Nach auf mehrere Elemente zutrifft, wird das mit dem Tauschen nicht wirklich gehen.

20.05.2011 - 08:06 Uhr

Evtl. könntest du dir auch beim Laden der App den Style suchen und dann den TargetType im Code setzen.

19.05.2011 - 10:49 Uhr

versuch mal {x:Type self:Type1+Type2}