Невозможно отобразить AutoCompleteBox в Blend - PullRequest
0 голосов
/ 07 сентября 2011

У меня проблема с элементом управления Autocompletebox, который не работает в Blend, который жалуется на то, что TypeConverter для свойства InputScope не может преобразовать строку.Элемент управления отлично работает во время выполнения и прекрасно отображается в конструкторе VS2010.

Есть ли простой способ, как полностью отключить элемент управления или заменить его на простой текстовый блок только во время разработки?

Еще лучше кто-нибудь знает, как я мог бы просто заставить AutoCompleteBox работать в смешанном виде как есть?

Редактировать: я обнаружил, что если я просто удаляю настройку свойства InputScope, то AutoCompleteBox отображается нормально.Так как я могу программно удалить только эту часть XAML (InputScope = "Search") в режиме разработки?

Ответы [ 2 ]

0 голосов
/ 07 сентября 2011

Оказывается, это невероятно просто.

Просто добавьте префикс mc: Ignorable к атрибуту, который нужно игнорировать.http://msdn.microsoft.com/en-us/library/aa350024.aspx

Другими словами, просто добавьте префикс атрибута InputScope к d:

<toolkit:AutoCompleteBox d:InputScope="Search"/>
0 голосов
/ 07 сентября 2011

Это странно, после того, как я создал стиль по умолчанию для этого элемента управления, он больше не выдает мне ошибки ... И я понятия не имею, почему ... Я думаю, что это ошибка. :)

    <Style TargetType="toolkit:AutoCompleteBox">
        <Setter Property="Background" Value="{StaticResource PhoneTextBoxBrush}"/>
        <Setter Property="BorderBrush" Value="{StaticResource PhoneTextBoxBrush}"/>
        <Setter Property="BorderThickness" Value="{StaticResource PhoneBorderThickness}"/>
        <Setter Property="FontFamily" Value="{StaticResource PhoneFontFamilyNormal}"/>
        <Setter Property="FontSize" Value="{StaticResource PhoneFontSizeMediumLarge}"/>
        <Setter Property="Foreground" Value="{StaticResource PhoneTextBoxForegroundBrush}"/>
        <Setter Property="ItemTemplate">
            <Setter.Value>
                <DataTemplate>
                    <ContentControl Content="{Binding}" Margin="8,7"/>
                </DataTemplate>
            </Setter.Value>
        </Setter>
        <Setter Property="Padding" Value="6,0,6,4"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="toolkit:AutoCompleteBox">
                    <Grid>
                        <TextBox x:Name="Text" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Foreground="{TemplateBinding Foreground}" FontWeight="{TemplateBinding FontWeight}" FontStyle="{TemplateBinding FontStyle}" FontSize="{TemplateBinding FontSize}" FontFamily="{TemplateBinding FontFamily}" InputScope="{TemplateBinding InputScope}" Opacity="{TemplateBinding Opacity}" Padding="{TemplateBinding Padding}" Style="{TemplateBinding TextBoxStyle}"/>
                        <Popup x:Name="Popup">
                            <ListBox x:Name="Selector" BorderBrush="{StaticResource PhoneTextBoxEditBorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="White" Foreground="{TemplateBinding Foreground}" FontWeight="{TemplateBinding FontWeight}" FontStyle="{TemplateBinding FontStyle}" FontSize="{TemplateBinding FontSize}" FontFamily="{TemplateBinding FontFamily}" IsTabStop="False" ItemTemplate="{TemplateBinding ItemTemplate}" ItemContainerStyle="{TemplateBinding ItemContainerStyle}" Opacity="{TemplateBinding Opacity}" Padding="0,8"/>
                        </Popup>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
...