1. 程式人生 > >WPF 驗證錯誤模板

WPF 驗證錯誤模板

<Window x:Class="BindingExam.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:BindingExam"
        Title="MainWindow" Height="413.027" Width="488.793" FontSize="16">
    <Window.Resources>
        <Style TargetType="{x:Type TextBox}">
            <Setter  Property="Validation.ErrorTemplate">
                <Setter.Value>
                    <ControlTemplate>
                        <DockPanel LastChildFill="True">
                            <TextBlock DockPanel.Dock="Right" Foreground="Red" FontSize="14" FontWeight="Bold"
                                       ToolTip="{Binding ElementName=PlaceHolder,Path=AdornedElement.(Validation.Errors)[0].ErrorContent}">*</TextBlock>
                            <Border BorderBrush="Green" BorderThickness="1">
                                <AdornedElementPlaceholder Name="PlaceHolder"></AdornedElementPlaceholder>
                            </Border>
                        </DockPanel>
                    </ControlTemplate>

                    
                </Setter.Value>
            </Setter>
            <Style.Triggers>
                <Trigger Property="Validation.HasError" Value="true">
                    <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self},Path=(Validation.Errors)[0].ErrorContent}">
                        
               
</Setter>
                </Trigger>
            </Style.Triggers>
        </Style>

    </Window.Resources>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*"></RowDefinition>
            <RowDefinition Height="Auto"></RowDefinition>
            <RowDefinition  Height="2*"></RowDefinition>
        </Grid.RowDefinitions>
        <ListBox Margin="3" Name="lstProducts" DisplayMemberPath="ModelName" VirtualizingPanel.CacheLength="3"></ListBox>
        <StackPanel Margin="3" Grid.Row="1" Orientation="Horizontal">
            <Button Margin="3" Grid.Row="1" Name="btnGetProducts" Click="btnGetProducts_Click_1">GetProducts</Button>
            <Button Margin="3" Grid.Row="1" Name="btnDelete" Click="btnDelete_Click_1">Delete</Button>
            <Label VerticalAlignment="Center">UnitCost></Label>
            <TextBox Width="200" Name="txtMinUnitCost">0</TextBox>
        </StackPanel>
        
        <Grid Grid.Row="2" Name="gridProduct" DataContext="{Binding ElementName=lstProducts, Path=SelectedItem}" Margin="8">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"></RowDefinition>
                <RowDefinition Height="Auto"></RowDefinition>
                <RowDefinition Height="Auto"></RowDefinition>
                <RowDefinition Height="Auto"></RowDefinition>
                <RowDefinition Height="*"></RowDefinition>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto"></ColumnDefinition>
                <ColumnDefinition Width="*"></ColumnDefinition>
               
            </Grid.ColumnDefinitions>
            <Label Margin="3">Model Number:</Label> 
            <TextBox Name="txtModelNumber" Margin="3" Grid.Column="1" Text="{Binding Path=ModelNumber, Mode=OneWay}" Grid.ColumnSpan="2"></TextBox>
            <Label Margin="3" Grid.Row="1">Model Name:</Label>
            <TextBox Name="txtModelName" Margin="3" Grid.Column="1" Grid.Row="1" Text="{Binding Path=ModelName, Mode=OneWay}" Grid.ColumnSpan="2"></TextBox>
            <Label Margin="3" Grid.Row="2">Unit Cost:</Label>
            <TextBox Name="txtUnitCost" Margin="3" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="2" Validation.Error="txtUnitCost_Error_1">
                <TextBox.Text>
                    <Binding Path="UnitCost" NotifyOnValidationError="True">
                        <Binding.ValidationRules>
                            <!--<ExceptionValidationRule></ExceptionValidationRule>-->
                            <!--<DataErrorValidationRule></DataErrorValidationRule>-->
                            <local:PositivePriceRule Min="0" Max="1000"></local:PositivePriceRule>
                        </Binding.ValidationRules>
                    </Binding>
                </TextBox.Text>
            </TextBox>
            <Label Margin="3" Grid.Row="3">Description:</Label>
            <TextBox Name="txtDescription" Margin="3" Grid.Column="0" Grid.Row="4" Grid.ColumnSpan="3" Text="{Binding Path=Description, Mode=OneWay}"
                     TextWrapping="Wrap"></TextBox>
        </Grid>
    </Grid>
</Window>

相關推薦

WPF 驗證錯誤模板

<Window x:Class="BindingExam.MainWindow"        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"        xmlns:x="http:

WPF資料驗證(5)—— 錯誤模板

<Style TargetType="{x:Type TextBox}"> <Setter Property="Validation.ErrorTemplate"> <Se

WPF資料驗證(4)——響應與獲取驗證錯誤

前面的示例中,有關使用者接受到錯誤的唯一指示是在違反規則的文字框周圍的紅色輪廓。為了提供更多資訊,可以處理 Error 事件,但儲存或清除錯誤時會引發該事件,但前提是必須確保已將 Binding.NotifyOnValidationError 屬性設定為 True。 <

laravel 驗證錯誤資訊到 blade模板

後臺程式碼: /** * POST * admin/cate * 新增 */ public function store(Request $request) { $input = $reques

WPF新手之驗證器及驗證出錯模板

首先要定義一個實現了ValidationRule介面的驗證器類: public class IPAddressValidationRule : ValidationRule { public override ValidationResult Vali

Eclipse--eclipse去除js(JavaScript)驗證錯誤

tor 項目目錄 工程 iptv js驗證 lips war 中修改 name 第一步: 去除eclipse的JS驗證:將windows->preference->Java Script->Validator->Errors/Warnings->

WPF控件模板和數據模板 - 醉意人間

shtml 指定 ack item bind 布局 ide pre targe 來自:http://www.th7.cn/Program/WPF/2011/12/21/51676.shtml ControlTemplate用於描述控件本身. 使用TemplateBind

MVC model驗證 獲取驗證錯誤信息

錯誤 lstat ror ons 獲取 public exp foreach model public static class ModelStateExtensions { /// <summary> /// 獲取mo

Ehcache緩存框架與 Shiro 框架 出現出現驗證錯誤 && Tomcat 緩存清除的問題

輸入 後臺 一起 logs 並且 我想 。。 ehcache 清除 當一個項目使用久了以後就會出現各種問題,下面是我遇到的一個權限驗證錯誤的問題 我的項目是 Ehcache 結合 Shiro 一起使用的,項目用用久了出現 Token驗證錯誤,Co

遠程桌面,出現身份驗證錯誤,要求的函數不正確,這可能是由於CredSSP加密Oracle修正

身份驗證 CredSSP加密Oracle問題點:升級至win10 最新版本10.0.17134,安裝最新補丁後無法遠程win server 2016服務器,報錯信息如下:出現身份驗證錯誤,要求的函數不正確,這可能是由於CredSSP加密Oracle修正。 這個問題主要是因為安裝了補丁KB 4093120 解

windows遠程桌面連接時,顯示發生身份驗證錯誤,給函數提供的身份無效

window 更新 com 訪問 分享圖片 運行 成功 名稱 程序 摘自:https://www.landui.com/help/show-7787 初次看到這個錯誤的時候懵了。訪問給的地址一看,發現大概意思是不安全了,微軟要更新一下 憑據安全支持提供程序

遠程桌面發生身份驗證錯誤,要求的函數不受支持【WIN10家庭】或【專業版】--解決辦法

加密 解決辦法 發生 修改註冊表 解決 rest param clas cli 10號更新後,遠程出現如下報錯 一。【家庭中文版】解決辦法【親自試驗】 開啟WIN家庭中文版的本地組策略 1、打開tet復制以下代碼:@echo off pushd "%~dp

Win10遠程桌面發生身份驗證錯誤,要求的函數不受支持

span TP 原因 出現 exp RR temp crypt encrypted 昨兒個使用遠程桌面,意外發的發現連不上測試環境了。身邊的同事也有連不上的。一開始以為是遠程機器可能出了問題,但是而後排查確認是自個兒機器問題。原因在與機器前天晚上自動升級了系統補丁,也有部分

遠程桌面時出現身份驗證錯誤,要求的函數不正確,這可能是由於CredSSP加密Oracle修正

AC bubuko credssp src size img mage -s cred 問題如下: 那麽解決辦法如下: 遠程桌面時出現身份驗證錯誤,要求的函數不正確,這可能是由於CredSSP加密Oracle修正

出現身份驗證錯誤,要求的函數不受支持(這可能是由於CredSSP加密Oracle修正)

CredSSP加密Oracle修正 出現身份驗證錯誤 要求的函數不受支持 CredSSP 遠程連接錯誤 問題描述: 從5月8\9日開始客戶端Win10\WinSer2016突然無法訪問測試環境下所有遠程Win Ser2012/16資源,提示"出現身份驗證錯誤。要求的函數不受支持.

WPF】Listbox模板內button點擊選中當前listboxItem

span item man sta href targe comm cte flow 源:stackoverflow --Listbox模板內按鈕點擊命令指定到擋墻vm內命令 Command="{Binding DataContext.PlusCmd,Relativ

遠程桌面時出現身份驗證錯誤,要求的函數不受支持

遠程桌面時出現身份驗證錯誤 解決方法:1、打開本地組策略編輯器(開始--運行--gpedit.msc)2、打開管理模板--系統--憑證分配--加密Oracle修正--修改為“已啟用,保護級別為(易受攻擊)”--確定3、刷新組策略“gpupdate /force”遠程桌面時出現身份驗證錯誤,要求的函數不受支持

解決win10 出現身份驗證錯誤,要求的函數不受支持

出現身份驗證錯誤要求的函數不受支持解決此問題 win7刪除補丁KB4103718 win10刪除補丁KB4103721 解決win10 出現身份驗證錯誤,要求的函數不受支持

遠程桌面身份驗證錯誤,函數不受支持

遠程桌面身份驗證錯誤函數不受支持在win10 更新 1803後使用遠程桌面出現了如下報錯 解決方法 使用快捷鍵 "win" + "r" 輸入 gpedit.msc 打開組策略編輯器。找到 “ 計算機配置” > “ 管理模板” > “系統” > “憑

windows10 升級1803後,遠程錯誤提示“出現身份驗證錯誤,要求的函數不受支持 CredSSP 加密 Oracle修正”的解決辦法

windows10 分配 出現 edit PE window .com http red 遠程出現錯誤提示:出現身份驗證錯誤,要求的函數不受支持 CredSSP 加密 Oracle修正 運行 gpedit.msc 本地組策略: 計算機配置>管理模板>系統>