Сетка данных Silverlight 4: как поместить пользовательское сообщение вместо «Ошибка» на панели проверки - PullRequest
0 голосов
/ 22 марта 2011

Таким образом, в сетке данных или форме данных, если есть ошибки проверки, у нас есть белое Слово ошибки на красной ленте.

Как мне разместить там свое сообщение?

РЕДАКТИРОВАТЬ: Уточнение: я доволен всем. Единственное, что мне нужно - это перевести слово «ОШИБКА», отображаемое на панели проверки сетки данных, на другой язык.

Ответы [ 2 ]

1 голос
/ 24 марта 2011

хорошо, мне удалось сделать это, добавив это в свой словарь ресурсов пользовательских стилей:

'Style TargetType = "dataInput: ValidationSummary">

    <Setter Property="HeaderTemplate">
        <Setter.Value>
            <DataTemplate>
                <Border Background="#FFDC020D" CornerRadius="2" x:Name="Header" Margin="-1,-1,-1,0">
                    <StackPanel Margin="6,2,6,4" Orientation="Horizontal" VerticalAlignment="Top">
                        <Grid Height="13" Width="13">
                            <Ellipse Margin="0" RenderTransformOrigin="0.5,0.5" >
                                <Ellipse.Stroke>
                                    <LinearGradientBrush StartPoint="0.505,0.65" EndPoint="0.5,0.058">
                                        <GradientStop Color="#FFCA000C" Offset="0"/>
                                        <GradientStop Color="#FFFF9298" Offset="0.991"/>
                                    </LinearGradientBrush>
                                </Ellipse.Stroke>
                                <Ellipse.Fill>
                                    <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
                                        <GradientStop Color="#FFFFFFFF" Offset="0"/>
                                        <GradientStop Color="#FFFDC8C8" Offset="1"/>
                                    </LinearGradientBrush>
                                </Ellipse.Fill>
                            </Ellipse>
                            <Path Fill="#DDD43940" Data="M5.5,2.5 L7.5,2.5 L7.5,8 L5.5,8 M5.5,9.5 L7.5,9.5 L7.5,10.5 L5.5,10.5"/>
                        </Grid>
                        <TextBlock Padding="4,1,0,0" Text="CUSTOM MESSAGE" Foreground="#FFFFFFFF" FontWeight="Bold"/>
                    </StackPanel>
                </Border>
            </DataTemplate>
        </Setter.Value>
    </Setter>
</Style>

, где dataInput xmlns:dataInput="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data.Input"

эти стили и шаблоны действительно длинные

1 голос
/ 22 марта 2011

Поскольку Silverlight хорошо подходит для разделения задач, это действительно должно быть обусловлено проверкой на вашем среднем уровне с использованием валидаторов аннотаций данных и INotifyDataErrorInfo. Хороший подход заключается в том, чтобы положиться на службы WCF RIA и на то, что они предоставляют. Смотрите эту статью: http://www.silverlightshow.net/items/WCF-RIA-Services-Part-6-Validating-Data.aspx

Вы также можете создать свой собственный контроль ошибок, чтобы отобразить ошибки, но шаблон принудительного применения бизнес-правил исключительно на клиенте не идеален. Службы WCF RIA позволяют бизнес-правилам, закодированным на среднем уровне, без труда перетекать в код на стороне клиента. Однако одной из проблем с сетками является тот факт, что вы никогда не редактируете более одной строки за раз, поэтому отображение многорядных ошибок невозможно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...