显示数据库到列表框

时间:2019-04-02 04:03:34

标签: c# database uwp listbox

我有一个列表框,其中包含从数据库中获取的文本答案的选择,并包含html语言,例如:

等。我想显示它,以便不显示html语言。我试图在Webview中显示它,但是

等仍然可见。 XAML:

<ListBox Name="ListOption" Grid.Row="1" Margin="10,20,10,0" Height="auto" xmlns:m="using:KipinSchool_Win10.TryoutData.Models" SelectionChanged="ListAlternatives_SelectionChanged" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
                    <ListBox.ItemTemplate>
                        <DataTemplate x:DataType="m:DBOption">
                            <StackPanel Orientation="Horizontal">
                                <WebView Margin="10,10,10,10" local:MyProperties.HtmlString="{Binding Option}" MinHeight="40" MaxHeight="300" HorizontalAlignment="Stretch" Tag="{Binding OID}"/>
                                <TextBlock Text="{Binding Option}" Tag="{Binding OID}" FontSize="19"/>
                            </StackPanel>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>

代码:

string strA = @"SELECT DISTINCT* FROM DBOption WHERE QID='" + question[0] + "'";
            var alternative = objConn.Prepare(strA);

            ObservableCollection<DBOption> Items = new ObservableCollection<DBOption>();

            int i = 0;
            while (alternative.Step() == SQLiteResult.ROW)
            {
                Items.Add(new DBOption(alternative[0].ToString(), alternative[1].ToString(), alternative[2].ToString(), alternative[3].ToString()));
            }
            Binding myBinding = new Binding();
            myBinding.Source = Items;
            ListOption.SetBinding(ItemsControl.ItemsSourceProperty, myBinding);

如何处理?

1 个答案:

答案 0 :(得分:0)

  

我试图在Web视图中显示它,但是仍然可见。 XAML:

我可以重现您的问题,问题是您尚未为WebView设置width和height属性。并且html字符串不包含内容高度。因此WebView将无法正确显示。请按如下所示修改代码。

<ListBox.ItemTemplate>
    <DataTemplate >
        <StackPanel Orientation="Horizontal">
            <WebView Margin="10,10,10,10" 
                     local:MyProperties.HtmlString="{Binding Option}"    
                     Height="400" Width="200"
                     HorizontalAlignment="Stretch" 
                     Tag="{Binding OID}"/>

        </StackPanel>
    </DataTemplate>
</ListBox.ItemTemplate>
相关问题