Добавить текст на изображение динамически в WPF с C # - PullRequest
0 голосов
/ 26 октября 2018

Я пытаюсь достичь чего-то ниже на изображении.В списке я хотел бы поместить текст "WS1", "WS2" "WS3" на изображение динамически в коде в зависимости от некоторых условий.Я настроил что-то в xaml.Я не уверен, будет ли это работать и как написать код, соответствующий xaml.

       <Style x:Key="AnnotationStyle" TargetType="TextBlock">
        <Setter Property="Background" Value="#70FFFFFF" />
        <Setter Property="FontWeight" Value="Bold" />
        <Setter Property="HorizontalAlignment" Value="Center"/>
        <Setter Property="VerticalAlignment" Value="Center"/>
        <Setter Property="TextAlignment" Value="Center"/>
        <Setter Property="TextWrapping" Value="Wrap"/>
    </Style>
    <DataTemplate x:Key="DisplayImage">
        <StackPanel Width="50">
            <StackPanel Orientation="Horizontal">
                <Image Height="40" Source="{Binding ImageData}" />
                <TextBlock Text="{Binding Description}" Style="{StaticResource AnnotationStyle}"/>
            </StackPanel>
        </StackPanel>
    </DataTemplate>

 <ListView.View>
     <GridView>
         <GridViewColumn CellTemplate="{StaticResource checkbox}"/>
         <GridViewColumn Header="Profile ID" DisplayMemberBinding="{Binding ProfileID}"/>
                <GridViewColumn Header="Monitor 1" DisplayMemberBinding="{Binding DisplayImage}">
                </GridViewColumn>
            </GridView>
        </ListView.View>
    </ListView>

Как я могу реализовать это в коде и работает ли этот xaml?заранее большое спасибо.

enter image description here

1 Ответ

0 голосов
/ 26 октября 2018
 <ListView>
        <ListView.View>
            <GridView>
                <GridViewColumn>
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <Grid>
                                <CheckBox />
                            </Grid>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
                <GridViewColumn
                    Width="50"
                    DisplayMemberBinding="{Binding ProfileID}"
                    Header="Profile ID" />
                <GridViewColumn Width="90" Header="Monitor 1">
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <Grid>
                                <Image
                                    Width="50"
                                    Height="40"
                                    Source="{Binding DisplayImage}" />
                                <TextBlock
                                    HorizontalAlignment="Center"
                                    VerticalAlignment="Center"
                                    Text="{Binding Text1}" />
                            </Grid>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
                <GridViewColumn Width="90" Header="Monitor 2">
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <Grid>
                                <Image
                                    Width="50"
                                    Height="40"
                                    Source="{Binding DisplayImage}" />
                                <TextBlock
                                    HorizontalAlignment="Center"
                                    VerticalAlignment="Center"
                                    Text="{Binding Text2}" />
                            </Grid>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
                <GridViewColumn Width="90" Header="Monitor 3">
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <Grid>
                                <Image
                                    Width="50"
                                    Height="40"
                                    Source="{Binding DisplayImage}" />
                                <TextBlock
                                    HorizontalAlignment="Center"
                                    VerticalAlignment="Center"
                                    Text="{Binding Text3}" />
                            </Grid>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
            </GridView>
        </ListView.View>
    </ListView>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...