пользовательский элемент управления (generic.xaml) для WP7 - PullRequest
0 голосов
/ 29 июля 2011

В настоящее время я выполняю шаги http://www.windowsphonegeek.com/articles/Creating-a-WP7-Custom-Control-in-7-Steps? при создании пользовательского элемента управления для WP7. Я создал свой элемент управления в xaml-файле обычного Windows Phone Portrait Page (объединяя некоторые элементы управления), я не уверен, как преобразовать его для работы в файле generic.xaml (как ResourceDictionary). Пока что это не сработало.

Я пытался использовать Expression Blend для конвертации, но я не уверен, как это сделать.

Редактировать: я публикую свой код, это окно, которое отображает динамическое время. Я также хочу добавить свойства для предоставления даты и другое для цвета поля.

Пока это код.

<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vsm="clr-namespace:System.Windows;assembly=System.Windows"
xmlns:local="clr-namespace:CereTime"> 
    <!-- Check xmlns:local im case of error -->
    <Style TargetType="local:CereT1">
        <!-- After specifing the custom properties in .cs file, implement them here -->
        <Setter Property="Date" Value="{TemplateBinding Date}" /> <!-- Under check -->
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="local:CereT1">
                    <Canvas Background="YellowGreen" Width="100" Height="100" Name="DateBox" HorizontalAlignment="Left" VerticalAlignment="Top">
                        <StackPanel Orientation="Vertical" Height="100" Width="100">
                            <TextBlock Name="Month" Text="Month" Foreground="White" TextAlignment="Center" HorizontalAlignment="Center" FontSize="24" FontWeight="Bold" Margin="0,12,0,0" />
                            <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Margin="0,6,0,0">
                                <TextBlock Name="Date" Text="0"  VerticalAlignment="Bottom" Margin="0,0,5,0" FontSize="26.667"/>
                                <TextBlock Name="No_Name" Text="|" FontSize="26.667" />
                                <TextBlock Name="Year" Text="Year" Margin="5,0,0,0" FontSize="26.667" />
                            </StackPanel>
                        </StackPanel>
                    </Canvas>
                </ControlTemplate>              
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>

Пожалуйста, сообщите мне. Спасибо,

Ответы [ 2 ]

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

У меня возникла такая же проблема при попытке создать элемент управления, следующий за указанной вами ссылкой.
Решение заключается в добавлении

 <ResourceDictionary>       
     <ResourceDictionary.MergedDictionaries>
         <ResourceDictionary Source="themes/generic.xaml"/>
     </ResourceDictionary.MergedDictionaries>
 </ResourceDictionary>

в тег Application.Resources в App.xaml

0 голосов
/ 29 июля 2011

Хотя вы можете переместить стиль пользовательского элемента управления в ResourceDictionary, зачем беспокоиться, когда вы можете иметь это и шаблон в соответствующем XAML для вашего UserControl?

Просто установите внутренний MyUserControl.xaml вместе с другими свойствами, которые вы хотите изменить.

Но вся часть, касающаяся разделения стиля пользовательского элемента управления на ResourceDictionary, не имеет ничего общего с UserControls. Возможно, вы должны сказать нам, что действительно неправильно, вместо того, чтобы задавать мета-вопросы.

...