?
快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

u樂平臺手機客戶端下載:在WPF中實現數據驗證實現自定義的Popup提示

?

傳統的WPF中集成了數據有效性的驗證,不過我們在應用中發明應用這個功能在WPF中并不能呈現像Silverlight中那樣的彈出式的Popup提示,只能以血色的邊框提示有差錯的數據發生,不能以人道化的要領給予你提示,這彷佛給了我們一個小小的遺憾。不過我們可以使用WPF強大年夜的自定義圖形功能增補我們的遺憾。下面就以自定義的Popup為例來闡明假如給數據添加驗證提示功能。這是如下的效果圖:

緊張提示:

1、為了對特定的信息進行驗證,我在這兒應用了數據類從IDataErrorInfo 接口來實現差錯的設置事情。

public interface IDataErrorInfo{

// Prou樂平臺手機客戶端下載perties

string Error { get; }

string this[string columnName] { get; }//差錯詳情 }

2、為了對應用WPF對發生的數據改變作出及時的反映,我們還得應用INotifyPropertyChanged接口以實現數據更新看護事故。

public interface INotifyPropertyChanged{

// Events

event PropertyChangedEventHandler PropertyChanged;}

3、著末我們還得對數據發生驗證差錯時,我們還得附加響應的差錯事故處置懲罰,這里就得應用Validation類來附加處置懲罰事故了,響應的類型定義如下:

public static class Validation{

public static void AddErrorHandler(DependencyObject element, EventHandlerValidationErrorEventArgs> handler);//附加事故處置懲罰

public static bool GetHasError(DependencyObject element);//響應的工具是否有差錯發生 }

詳細實現:

1、 定義一個Popup圖形化工具,因為為了應用可視化的設計,我們這兒沒有采納硬編碼的要領來應用Poppup工具,而是采納了硬編碼節制Popup的IsOpen的屬性來實現的。在主窗體的Xaml代碼中我們定義了它的響應的樣式,如下所示:

Popup

Popup x:Name="emailPopup" PopupAnimation="Scroll" Placement="Relative" Margin="20,0,0,40" AllowsTransparency="True" Width="175" HorizontalAlignment="Right" VerticalAlignment="Top" HorizontalOffset="200" VerticalOffset="-10">

Grid Hu樂平臺手機客戶端下載eight="47" Width="175" SnapsToDevicePixels="True">

Path Data="M12.166999,0.5 L143.167,0.5 C145.92843,0.50000003 148.167,2.7385762 148.167,5.5 L148.1u樂平臺手機客戶端下載67,30.5 C148.167,33.261425 145.92843,35.5 143.167,35.5 L12.166999,35.5 11.81918,35.482437 11.834001,35.5 C10.619751,36.16069 10.9795,36.5625 8.1912529,37.482075 5.4030061,38.401646 3.063751,40.272026 0.5,41.667 2.2780275,39.667053 4.7294998,37 5.8340837,35.66716 6.662521,34.66753 6.9629115,32.753006 7.1582331,31.348595 L7.1991105,31.052473 7.1928148,31.011221 C7.1757442,30.843136 7.1669998,30.672588 7.1669995,30.5 L7.1669995,17.25 7.1669995,5.5 C7.1669998,2.7385762 9.405576,0.50000003 12.166999,0.5 z" Margin="1.333,0,0,1.833" Stretch="Fill" Stru樂平臺手機客戶端下載oke="#FF32E767" UseLayoutRounding="False">

Path.Fill>

LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">

GradientStop Color="#FF5F5DB6" Offset="1"/>

GradientStop Color="#FF3F3BCA"/>

GradientStop Coloru樂平臺手機客戶端下載="#FFACABE9" Offset="0.747"/>

LinearGradientBrush>

Path.Fill>

Path>

Path Data="M67.5,15.25 C70.750538,10.312179 121.33333,14.916667 148.25,14.75 148.41667,11.083333 149,6.0625 148.75,3.75 148.5,1.4375 145.43711,0.0625 144.5,0.25 149.46607,0.22253689 13.874996,-0.062023075 11.75,0.25 9.6250039,0.56202307 8.3747773,3.5006011 8.25,4.75 8.1252227,5.9993989 8.159157,10.23778 8.25,14.5 28,14.75 64.249462,20.187821 67.5,15.25 z" Margin="8,0,0,28.686" Stretch="Fill" Stroke="Black" UseLayoutRounding="False" StrokeThickness="0">

Path.Fill>

LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">

GradientStop Color="#B2FFFFFF"/>

GradientStop Color="#33FFFFFF" Offset="1"/>

LinearGradientBrush>

Path.Fill>

Path>

TextBlock x:Name="errorTextBlock_Copy" TextWrapping="Wrap" Text="{Binding .}" Margin="11,3,3,11" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="#FFF11818" Width="157" TextAlignment="Center"/>

Grid>

Popup>

免責聲明:以上內容源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

您可能還會對下面的文章感興趣:

河北十一选五开奖的 竞彩篮球大小分 浙江11选5的开奖 福建时时彩 雪缘园即时比分直播 今晚3d试机号 足彩半全场 上证指数每日行情凤凰网 finnciti游戏理财平台 股票配资推荐 丨推荐杨方配资 2017大桥未久所有番号 竞彩足球比分 亿鑫配资 排列5 广东十一选五常规走 3分彩开奖软件下载 扑克麻将牌玩法