XAML Multibinding + XAML Page width



  • Hi,

    ich versuche derzeit mit XAML ein EPG anzuzeigen.

    Dazu benutze ich eine Klasse mit den einem Property für die Kanal und einem für die Program Informationen.
    Das XAML dazu sieht aktuell so aus

    <ListBox x:Name="lbChannels" Margin="0,32,0,0">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal">
                            <Label Content="{Binding Path=Channel.Name}" Width="100"/>
                            <ListBox   ItemsSource="{Binding Programs}">
                                <ListBox.ItemsPanel>
                                    <ItemsPanelTemplate>
                                        <StackPanel Orientation="Horizontal"/>
                                    </ItemsPanelTemplate>
                                </ListBox.ItemsPanel>
                                <ListBox.ItemTemplate>
                                    <DataTemplate>
                                        <Border BorderThickness="1"> 
                                            <Label  Content="{Binding Path=Title}" Width="20">
                                                <!-- <Label.Width>
                                                   <MultiBinding Converter="{StaticResource x:ResourceKey=MyMultiValueConverter}">
                                                        <Binding Path="StartTime" />
                                                        <Binding Path="EndTime" />
    
                                            </MultiBinding>
                                                </Label.Width>-->
                                            </Label>
                                        </Border>
                                    </DataTemplate>
                                </ListBox.ItemTemplate>
                            </ListBox>
                        </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
    

    Mein Problem ist jetzt, dass ich nicht weiß, wie ich die Breite der einzelnen Program Informationen berechnen soll.

    Wie man im auskommentierten Teil sieht, bin ich schon zum Multibinding gekommen. Das Problem ist nun aber, dass ich dem Converter noch irgendwie die Breite der Page übergeben müsste. Wie ich das aber hinkriege konnte ich bisher nicht herausfinden und ich hoffe ihr könnt mir da vielleicht helfen.



  • Binde doch die Breite an den ConverterParameter.

    //Dazu
    Mir fällt ein das man ConverterParameter nicht binden kann.
    Erstell einfach noch ein Binding in den MultiValueConverter und binde dort die Breite rein.
    Im Konverter hast du dann
    StartTime
    EndTime
    PageWidth


Anmelden zum Antworten