Laden...

Forenbeiträge von viereck Ingesamt 8 Beiträge

03.04.2019 - 13:13 Uhr

Hallo,
ich schon wieder und meine Probleme!
Ich habe eine Datenbindung versucht.


<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>
    <TextBlock x:Name="textBlock01" Text="{Binding ElementName=textBox01, Path=Text}"/>
    <TextBox x:Name="textBox01" Grid.Column="1"/>
</Grid>

Das funktioniert wie ich es erwarte. Der Text den ich in die TextBox eingebe wird im TextBlock angezeigt.
ABER, wenn ich jetzt folgende Änderung vornehme.

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition/>
    </Grid.RowDefinitions>
    <TextBlock x:Name="textBlock01" Text="{Binding ElementName=webBrowser01, Path=Source.AbsolutePath}"/>
    <WebBrowser x:Name="webBrowser01" Grid.Row="1"/>
</Grid>

Und im Cod behind eine Uri für den WebBrowser aufrufe.


webBrowser01.Source = new Uri(@"C:\");

Wird nichts im TextBlock angezeigt. Im WebBrowser wird der Inhalt angezeigt.

Warum ist das so?
Was mache ich falsch?
Was muss ich machen damit ich im TextBlock den Pfad anzeigen kann?

DANKE!!

27.03.2019 - 15:41 Uhr

DANKE!
Das werd ich gleich mal ausprobieren.

27.03.2019 - 07:19 Uhr

Hallo, DANKE für die Unterstützung.

Noch mal was ich mir vorstelle. Ich verwende eine ListBox in der ich einige Sachen, zum Auswählen, anzeigen lassen. Um diese leichter zu unterscheiden will ich einen individuellen Hintergrund bei den Einträgen. Da ich es nicht geschafft habe bei normalen ListBox.Items den Hintergrund individuell einzustellen habe ich versucht TextBlöcke, mit versiedenen Hintergründen, in die ListBox einzufügen.

Das funktioniert auch recht gut.
ABER...
Die TextBlöcke sind nur so breit wie der Inhalt.
Wenn ich den Button betätige werden die Einträge auf die maximale Breite eingestellt.

Ich habe ein Bild als Dateianhang angefügt in dem man links den Zustand mit dem unterschiedlich breiten Einträgen sieht und rechts was ich gerne haben würde.

Was muss ich tun damit ich das beim Füllen der ListBox erreiche?
Zum Zeitpunkt des Füllens haben alle ListBox.Items und TextBlöcke eine ActualWidth=0 und Width=NaN.
Oder gibt es eine Möglichkeit ListBox.Items einen individuellen Hintergrund zu geben?

26.03.2019 - 12:37 Uhr

Ich habe es eben ausprobiert. Wenn ich die TextBoxen zu einem Grid hinzufüge und dieses Grid dann in die Listbox gebe ist das Verhalten gleich wie vorher.
Alle Einträge haben eine unterschiedliche Breite.

Ich möchte dass meine TextBoxen aber alle gleich breit sind.

26.03.2019 - 12:33 Uhr

Ich möchte für alle TextBoxen in der Listbox die gleiche Breite.

26.03.2019 - 12:14 Uhr

Großes SORRY! Hab's vergessen!
Ich arbeite mit WPF und C#!

26.03.2019 - 11:31 Uhr

Ich arbeite mit einer Listbox. Es funktioniert wie ich es erwartet habe. Ich wollte dann, zur besseren Orientierung, die Einträge mit unterschiedlichen Hintergrundfarben versehen. Das habe ich nicht geschafft. Jetzt erstelle ich Textblöcke und passe die Hintergrundfarbe an dann liste ich diese in der Listbox auf. Das funktioniert auch, aber die Textblöcke sind unterschiedlich breit. Ich will das alle Textblöcke gleich breit sind. Ich habe versucht von allen Items, der Listbox, die Breite auszulesen und anschließend allen die maximale Breite zu geben. Mein Problem hier ist dass beim Erstellen die Breite Width=NaN und ActualWidth=0 ist.

Wenn ich das mit einem Butten später ausführe funktioniert es wie ich es erwarte.

Wie kann ich die Breite der TextBlöcke nach dem Erstellen abfragen?
Wie muss ich das richtigerweise machen?