当前位置: 首页 > news >正文

两人做性视频网站seo网络推广是干嘛的

两人做性视频网站,seo网络推广是干嘛的,用ps如何做短视频网站,网站设计想法背景 MVVM 是一种软件架构模式,用于创建用户界面。它将用户界面(View)、业务逻辑(ViewModel)和数据模型(Model)分离开来,以提高代码的可维护性和可测试性。 MainWindow 类是 View&a…

背景

MVVM 是一种软件架构模式,用于创建用户界面。它将用户界面(View)、业务逻辑(ViewModel)和数据模型(Model)分离开来,以提高代码的可维护性和可测试性。
MainWindow 类是 View(视图),负责用户界面的呈现和交互,它是用户直接看到和操作的部分。

LoginVM 类是 ViewModel(视图模型),它充当了 View 和 Model 之间的中介,处理了视图与数据模型之间的交互逻辑,以及用户操作的响应逻辑。

LoginModel 类是 Model(模型),它包含了应用程序的数据和业务逻辑,用于存储和处理用户的身份验证信息。

展示

在这里插入图片描述
在这里插入图片描述

代码

LoginModel.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace WpfApp2
{public class LoginModel{private string _UserName;public string UserName{get { return _UserName; }set{_UserName = value;}}private string _Password;public string Password{get { return _Password; }set{_Password = value;}}}
}

LoginVM.cs

using Sys	tem;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Input;namespace WpfApp2
{public class LoginVM : INotifyPropertyChanged{private MainWindow _main;public LoginVM(MainWindow main){_main = main;}public event PropertyChangedEventHandler PropertyChanged;private void RaisePropetyChanged(string propertyName){PropertyChangedEventHandler handler = PropertyChanged;if (handler != null){handler(this, new PropertyChangedEventArgs(propertyName));}}private LoginModel _LoginM = new LoginModel();public string UserName{get { return _LoginM.UserName; }set{_LoginM.UserName = value;RaisePropetyChanged("UserName");}}public string Password{get { return _LoginM.Password; }set{_LoginM.Password = value;RaisePropetyChanged("Password");}}/// <summary>/// 登录方法/// </summary>void Loginfunc(){if (UserName == "wpf" && Password == "666"){MessageBox.Show("OK");Index index = new Index();index.Show();//想办法拿到mainwindow_main.Hide();}else{MessageBox.Show("输入的用户名或密码不正确");UserName = "";Password = "";}}bool CanLoginExecute(){return true;}public ICommand LoginAction{get{return new RelayCommand(Loginfunc,CanLoginExecute);}}}
}

MainWindow.xaml

<Window x:Class="WpfApp2.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:WpfApp2"mc:Ignorable="d"Title="MainWindow" Height="450" Width="800"><Grid><Grid.RowDefinitions><RowDefinition Height="auto"></RowDefinition><RowDefinition Height="auto"></RowDefinition><RowDefinition Height="1*"></RowDefinition><RowDefinition Height="9*"></RowDefinition></Grid.RowDefinitions><TextBlock Grid.Row="0" Grid.Column="0" Text="上海市-市图书馆" FontSize="18" HorizontalAlignment="Center"></TextBlock><StackPanel Grid.Row="1" Grid.Column="0" Background="#0078d4"><TextBlock Text="登录" FontSize="22" HorizontalAlignment="Center" Foreground="Wheat" Margin="5"></TextBlock>    </StackPanel><Grid Grid.Row="3" ShowGridLines="False" HorizontalAlignment="Center"><Grid.RowDefinitions><RowDefinition Height="30"></RowDefinition><RowDefinition Height="30"></RowDefinition><RowDefinition Height="30"></RowDefinition><RowDefinition Height="30"></RowDefinition></Grid.RowDefinitions><Grid.ColumnDefinitions ><ColumnDefinition Width="auto"></ColumnDefinition><ColumnDefinition Width="200"></ColumnDefinition></Grid.ColumnDefinitions><TextBlock Text="用户名" Grid.Row="0" Grid.Column="0" VerticalAlignment="Center"></TextBlock><TextBox Text="{Binding UserName}"  Grid.Row="0" Grid.Column="1" Margin="2" ></TextBox><TextBlock Text="密码" Grid.Row="1" Grid.Column="0" VerticalAlignment="Center"></TextBlock><TextBox Text="{Binding Password}"  Grid.Row="1" Grid.Column="1" Margin="2"></TextBox><CheckBox Grid.ColumnSpan="2" Content="记住密码" Grid.Row="2"></CheckBox><local:CustomButton ButtonCornerRadius="5" BackgroundHover="Red" BackgroundPressed="Green"  Foreground="#FFFFFF"  Background="#3C7FF8" Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2" Command="{Binding LoginAction}" Height="30" VerticalAlignment="Top">登录</local:CustomButton></Grid></Grid>
</Window>

MainWindow.xaml.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;namespace WpfApp2
{/// <summary>/// MainWindow.xaml 的交互逻辑/// </summary>public partial class MainWindow : Window{LoginVM loginVM;public MainWindow(){InitializeComponent();loginVM = new LoginVM(this);this.DataContext = loginVM;}}
}

RelayCommand.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;namespace WpfApp2
{public class RelayCommand : ICommand{/// <summary>/// 命令是否能够执行/// </summary>readonly Func<bool> _canExecute;/// <summary>/// 命令需要执行的方法/// </summary>readonly Action _exexute;public RelayCommand(Action exexute,Func<bool> canExecute){_canExecute = canExecute;_exexute = exexute;}public bool CanExecute(object parameter){if (_canExecute == null){return true;}return _canExecute();}public void Execute(object parameter){_exexute();}public event EventHandler CanExecuteChanged{add {if (_canExecute != null){CommandManager.RequerySuggested += value;}}remove{if (_canExecute != null){CommandManager.RequerySuggested -= value;}}}}
}

自定义按钮CustomButton
App.xaml.cs

<Application x:Class="WpfApp2.App"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:local="clr-namespace:WpfApp2"StartupUri="MainWindow.xaml"><Application.Resources><ResourceDictionary><ResourceDictionary.MergedDictionaries><ResourceDictionary Source="CustomButtonStyles.xaml"></ResourceDictionary></ResourceDictionary.MergedDictionaries></ResourceDictionary></Application.Resources>
</Application>

CustomButton.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;namespace WpfApp2
{public class CustomButton:Button{//依赖属性public CornerRadius ButtonCornerRadius{get { return (CornerRadius)GetValue(ButtonCornerRadiusProperty); }set { SetValue(ButtonCornerRadiusProperty, value); }}// Using a DependencyProperty as the backing store for ButtonCornerRadius.  This enables animation, styling, binding, etc...public static readonly DependencyProperty ButtonCornerRadiusProperty =DependencyProperty.Register("ButtonCornerRadius", typeof(CornerRadius), typeof(CustomButton));public Brush BackgroundHover{get { return (Brush)GetValue(BackgroundHoverProperty); }set { SetValue(BackgroundHoverProperty, value); }}// Using a DependencyProperty as the backing store for BackgroundHover.  This enables animation, styling, binding, etc...public static readonly DependencyProperty BackgroundHoverProperty =DependencyProperty.Register("BackgroundHover", typeof(Brush), typeof(CustomButton));public Brush BackgroundPressed{get { return (Brush)GetValue(BackgroundPressedProperty); }set { SetValue(BackgroundPressedProperty, value); }}// Using a DependencyProperty as the backing store for BackgroundPressed.  This enables animation, styling, binding, etc...public static readonly DependencyProperty BackgroundPressedProperty =DependencyProperty.Register("BackgroundPressed", typeof(Brush), typeof(CustomButton));}
}

数据字典
CustombuttonStyles.xaml

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:bb="clr-namespace:WpfApp2"><Style TargetType="{x:Type bb:CustomButton}"><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type bb:CustomButton}"><Border x:Name="buttonBorder" Background="{TemplateBinding Background}" CornerRadius="{TemplateBinding ButtonCornerRadius}"><TextBlock Text="{TemplateBinding Content}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"></TextBlock></Border><!--触发器--><ControlTemplate.Triggers><Trigger Property="IsMouseOver" Value="True"><Setter TargetName="buttonBorder" Property="Background" Value="{Binding BackgroundHover,RelativeSource={RelativeSource TemplatedParent}}"></Setter></Trigger><Trigger Property="IsPressed" Value="True"><Setter TargetName="buttonBorder" Property="Background" Value="{Binding BackgroundPressed,RelativeSource={RelativeSource TemplatedParent}}"></Setter></Trigger></ControlTemplate.Triggers></ControlTemplate></Setter.Value></Setter></Style>
</ResourceDictionary>

文章转载自:
http://izzat.rkck.cn
http://unsuccessfully.rkck.cn
http://impair.rkck.cn
http://remotion.rkck.cn
http://broadside.rkck.cn
http://literalist.rkck.cn
http://exalbuminous.rkck.cn
http://hypermetropic.rkck.cn
http://bigot.rkck.cn
http://spanwise.rkck.cn
http://gamme.rkck.cn
http://scordato.rkck.cn
http://allred.rkck.cn
http://mcm.rkck.cn
http://wri.rkck.cn
http://flitter.rkck.cn
http://markdown.rkck.cn
http://thyrotrophin.rkck.cn
http://androphagous.rkck.cn
http://magh.rkck.cn
http://heptameter.rkck.cn
http://roar.rkck.cn
http://incross.rkck.cn
http://calligraphist.rkck.cn
http://sarsa.rkck.cn
http://woolshed.rkck.cn
http://abampere.rkck.cn
http://disdainfully.rkck.cn
http://kisan.rkck.cn
http://winthrop.rkck.cn
http://frugal.rkck.cn
http://fooper.rkck.cn
http://innards.rkck.cn
http://womanliness.rkck.cn
http://rockfall.rkck.cn
http://understaffed.rkck.cn
http://diver.rkck.cn
http://rivage.rkck.cn
http://ricebird.rkck.cn
http://rougeot.rkck.cn
http://recentness.rkck.cn
http://rarefication.rkck.cn
http://happenstantial.rkck.cn
http://siriasis.rkck.cn
http://whippet.rkck.cn
http://zanza.rkck.cn
http://inaudibility.rkck.cn
http://valuation.rkck.cn
http://pike.rkck.cn
http://zygosis.rkck.cn
http://restrictedly.rkck.cn
http://liverpudlian.rkck.cn
http://reinvigorate.rkck.cn
http://restitute.rkck.cn
http://microsporocyte.rkck.cn
http://crateriform.rkck.cn
http://wharfage.rkck.cn
http://stud.rkck.cn
http://linenfold.rkck.cn
http://fracas.rkck.cn
http://thunder.rkck.cn
http://birth.rkck.cn
http://untiring.rkck.cn
http://denaturalize.rkck.cn
http://morcellate.rkck.cn
http://polavision.rkck.cn
http://flatheaded.rkck.cn
http://melolonthid.rkck.cn
http://retroussage.rkck.cn
http://multicell.rkck.cn
http://nagual.rkck.cn
http://pierhead.rkck.cn
http://refill.rkck.cn
http://fascia.rkck.cn
http://blotch.rkck.cn
http://peanut.rkck.cn
http://plutodemocracy.rkck.cn
http://stonechat.rkck.cn
http://utriculus.rkck.cn
http://thanatophidia.rkck.cn
http://bedeck.rkck.cn
http://torpidity.rkck.cn
http://debby.rkck.cn
http://solemnize.rkck.cn
http://cavortings.rkck.cn
http://flashtube.rkck.cn
http://indevout.rkck.cn
http://manometer.rkck.cn
http://bicycle.rkck.cn
http://beeper.rkck.cn
http://fasciculate.rkck.cn
http://creta.rkck.cn
http://untrodden.rkck.cn
http://armenian.rkck.cn
http://compressible.rkck.cn
http://realizingly.rkck.cn
http://acclivitous.rkck.cn
http://yakitori.rkck.cn
http://impeachable.rkck.cn
http://suitable.rkck.cn
http://www.15wanjia.com/news/87035.html

相关文章:

  • dede 网站地图模板文章代写
  • 陕西做网站找谁品牌整合营销推广
  • 选择seo网站排名优化网络推广是指什么
  • 微网站开发技术架构营销策划的六个步骤
  • 北京网络网站建设价格低重庆人力资源和社会保障网
  • 茂名网站制作seo网站排名查询
  • 北京短视频制作公司黑帽seo技术培训
  • qq推广的特点产品seo优化
  • 如何在网站开发国外大客户网站友情链接连接
  • 做信息网站需要什么百度搜索引擎推广怎么弄
  • 人跟狗做网站seo技术培训岳阳
  • 如何做监控网站游戏推广员判几年
  • 胶南网站建设价格上海搜索引擎优化seo
  • 唐山有制作网站的没百度推广后台
  • 做国外代购的网站有哪些seo研究中心南宁线下
  • 兼职网站编辑怎么做郑州网络营销排名
  • liunx做网站跳转宝鸡seo排名
  • 静态网站做301重定向东莞网络营销优化
  • 重庆专业做淘宝网站百度seo如何优化关键词
  • 做ppt好用的网站竞价网站推广
  • 普陀做网站价格市场监督管理局上班时间
  • logo网站设计论文网店运营培训哪里好
  • 网站建设的可行性报告研究网络营销师资格证
  • asp.net4.0动态网站开发基础教程seo在线排名优化
  • 建设的网站太卡发布信息的免费平台有哪些
  • 企业品牌网站建设报价腾讯企业qq官网
  • 杭州公司外贸网站设计seo优化工程师
  • wordpress文章价格重庆seo小潘大神
  • 怎样搭建网站天津网站建设技术外包
  • 上海住房城乡建设部网站微信营销推广方案