Het uitlezen van een databind textbox dat zich in een datatemplate bevind.

Status
Niet open voor verdere reacties.

youngblade

Nieuwe gebruiker
Lid geworden
2 mrt 2012
Berichten
2
Hallo, Ik ben momenteel nog een beetje groen met het programmeren maar ben al wel een beetje op weg.

Ik haal via een internet link (xml) gegevens binnen en 1 van die gegevens zit gebonden via databinding in een textblock (condition).

nu zou ik graag if statement willen gebruiken op die textbox maar al geef ik die textbox een naam dan wordt hij alsnog niet gevonden.
Dit komt omdat de textbox zich in een datatemplate bevind. Ik ben al anderhalve dag bezig om het aan de praat te krijgen en op het internet zijn er
alleen van die te moeilijke oplossingen. Ik hoop dat jullie willem helpen. :-)

Xaml:

Code:
<ListBox.ItemTemplate>
                                <DataTemplate>
                                    <StackPanel Orientation="Horizontal" Height="99" >
                                        <Grid Height="100">
                                            <Grid.ColumnDefinitions>
                                                <ColumnDefinition Width="100"></ColumnDefinition>
                                                <ColumnDefinition Width="*"></ColumnDefinition>
                                            </Grid.ColumnDefinitions>
                                             <TextBlock Text="{Binding Path=condition}" Grid.Column="1" Margin="10,75,10,0" Name="hulpBlock"></TextBlock>
                                        </Grid>
                                    </StackPanel>
                                </DataTemplate>
                            </ListBox.ItemTemplate>

Xaml.cs:

Code:
if (hulpBlock.Text == "Partly Cloudy")
             { weatherframe.Source = (ImageSource)new ImageSourceConverter().ConvertFromString("WeatherIcons/03.png"); }


dus wat ik wil is dat als de verkregen text in hulpblock.Text gelijk is aan "partly cloudy" dat dan mijn afbeeldingsbron wordt gewijzigd naar WeatherIcons/03.png
 
Heb het eigenlijk met wat extra zoekwerk uitgedokterd..

ik heb de textblok een "loaded event handeler" gegeven:


Code:
<TextBlock Loaded="test_Loaded" Text="{Binding Path=condition}"  Grid.Column="1" Margin="10,75,10,0" x:Name="temp" ></TextBlock>

en vervolgens het volgende in mijn xaml.cs file gedaan.

Code:
private void test_Loaded(object sender, RoutedEventArgs e)
        {
            var hulpBlock = sender as TextBlock;
            if (hulpBlock.Text.Trim().Equals("Partly Cloudy"))
            {
                Weatherframe.Source = (ImageSource)new ImageSourceConverter().ConvertFromString("WeatherIcons/03.png");
            }
        }

mijn data word namelijk binnen gehaald via een xml van internet. en waarschijnlijk zit er no wat extra onzichtbare data in de text waardoor
het onmogelijk is om de hulpBlock zomaar aan "Partly Cloudy" vast te stellen. maar de trim functie deed het ehm helemaal.. :-)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan