Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#和Silverlight public List GetClients() { 列表客户端=新列表(); clients.Add(新客户端() { Name=“Name1”, }); clients.Add(新客户端() { Name=“Name2”, }); 返回客户; }_C#_Silverlight 4.0 - Fatal编程技术网

C#和Silverlight public List GetClients() { 列表客户端=新列表(); clients.Add(新客户端() { Name=“Name1”, }); clients.Add(新客户端() { Name=“Name2”, }); 返回客户; }

C#和Silverlight public List GetClients() { 列表客户端=新列表(); clients.Add(新客户端() { Name=“Name1”, }); clients.Add(新客户端() { Name=“Name2”, }); 返回客户; },c#,silverlight-4.0,C#,Silverlight 4.0,如何在Silverlight中创建xaml包含一个textbox=Name和两个按钮:Next和Back。单击Next(下一步)时,单击textbox=“Name2”,单击Back(后退)时,单击textbox=“Name1” 多谢各位 在按钮的单击事件上设置文本框的文本。所以XAML将是这样的 public List<Client> GetClients() { List<Client> clients = new List<C

如何在Silverlight中创建xaml包含一个textbox=Name和两个按钮:Next和Back。单击Next(下一步)时,单击textbox=“Name2”,单击Back(后退)时,单击textbox=“Name1”


多谢各位

在按钮的单击事件上设置文本框的文本。所以XAML将是这样的

    public List<Client> GetClients()
     {
         List<Client> clients = new List<Client>();
         clients.Add(new Client()
         {
            Name = "Name1",
         });
         clients.Add(new Client()
         {
            Name = "Name2",
         });
         return clients;
     }
public List<Client> _clients = new List<Client>();
        private int _index = 0;

    public MainPage()
            {
                InitializeComponent();

                this.loginContainer.Child = new LoginStatus();
                this._clients = GetClients();
                if(_index<this._clients.Count)
                txtMain.Text = this._clients[_index].Name;
            }

当页面初始化时,您需要将文本添加到文本框中,以便初始化代码显示在此处

<TextBox Height="23" HorizontalAlignment="Left" Margin="166,144,0,0" Name="txtMain" VerticalAlignment="Top" Width="188"  />
            <Button Content="Back" Height="23" HorizontalAlignment="Left" Margin="174,238,0,0" Name="btnBack" VerticalAlignment="Top" Width="75" Click="btnBack_Click" />
            <Button Content="Next" Height="23" HorizontalAlignment="Right" Margin="0,238,286,0" Name="btnNext" VerticalAlignment="Top" Width="75" Click="btnNext_Click" />
public List_clients=new List();
私有int_指数=0;
公共主页()
{
初始化组件();
this.loginContainer.Child=新登录状态();
这是。_clients=GetClients();
如果(_index=0)
Text=this.\u clients[\u index].Name;
其他的
这是._指数+=1;
}
私有void btnNext_单击(对象发送者,路由目标e)
{
这是._指数+=1;
if(_index
您可以在按钮的单击事件中设置文本框的文本。所以XAML将是这样的

    public List<Client> GetClients()
     {
         List<Client> clients = new List<Client>();
         clients.Add(new Client()
         {
            Name = "Name1",
         });
         clients.Add(new Client()
         {
            Name = "Name2",
         });
         return clients;
     }
public List<Client> _clients = new List<Client>();
        private int _index = 0;

    public MainPage()
            {
                InitializeComponent();

                this.loginContainer.Child = new LoginStatus();
                this._clients = GetClients();
                if(_index<this._clients.Count)
                txtMain.Text = this._clients[_index].Name;
            }

当页面初始化时,您需要将文本添加到文本框中,以便初始化代码显示在此处

<TextBox Height="23" HorizontalAlignment="Left" Margin="166,144,0,0" Name="txtMain" VerticalAlignment="Top" Width="188"  />
            <Button Content="Back" Height="23" HorizontalAlignment="Left" Margin="174,238,0,0" Name="btnBack" VerticalAlignment="Top" Width="75" Click="btnBack_Click" />
            <Button Content="Next" Height="23" HorizontalAlignment="Right" Margin="0,238,286,0" Name="btnNext" VerticalAlignment="Top" Width="75" Click="btnNext_Click" />
public List_clients=new List();
私有int_指数=0;
公共主页()
{
初始化组件();
this.loginContainer.Child=新登录状态();
这是。_clients=GetClients();
如果(_index=0)
Text=this.\u clients[\u index].Name;
其他的
这是._指数+=1;
}
私有void btnNext_单击(对象发送者,路由目标e)
{
这是._指数+=1;
if(_index
按如下方式创建XAML:

private void btnBack_Click(object sender, RoutedEventArgs e)
    {
        this._index -= 1;

        if (_index >= 0)
            txtMain.Text = this._clients[_index].Name;
        else
            this._index += 1;

    }

    private void btnNext_Click(object sender, RoutedEventArgs e)
    {
        this._index += 1;

        if (_index < this._clients.Count)
            txtMain.Text = this._clients[_index].Name;
        else
            this._index -= 1;
    }
    private int _index = 0;

    public MainWindow()
    {
        InitializeComponent();
        _clients = GetClients();
        txtSelectedName.Text = _clients[_index].Name;

    }
    private void btnPrevious_Click(object sender, RoutedEventArgs e)
    {
        _index = _index == 0 ? _clients.Count - 1 : _index - 1;
        txtSelectedName.Text = _clients[_index].Name;
    }

    private void btnNext_Click(object sender, RoutedEventArgs e)
    {
        _index = _index == _clients.Count - 1 ? 0 : _index + 1;
        txtSelectedName.Text = _clients[_index].Name;
    } 
但是,如果这是一个严肃的应用程序,并且随着时间的推移,应用程序的范围变得越来越复杂,那么您可能希望使用MVVM模式,如下所示:

private void btnBack_Click(object sender, RoutedEventArgs e)
    {
        this._index -= 1;

        if (_index >= 0)
            txtMain.Text = this._clients[_index].Name;
        else
            this._index += 1;

    }

    private void btnNext_Click(object sender, RoutedEventArgs e)
    {
        this._index += 1;

        if (_index < this._clients.Count)
            txtMain.Text = this._clients[_index].Name;
        else
            this._index -= 1;
    }
    private int _index = 0;

    public MainWindow()
    {
        InitializeComponent();
        _clients = GetClients();
        txtSelectedName.Text = _clients[_index].Name;

    }
    private void btnPrevious_Click(object sender, RoutedEventArgs e)
    {
        _index = _index == 0 ? _clients.Count - 1 : _index - 1;
        txtSelectedName.Text = _clients[_index].Name;
    }

    private void btnNext_Click(object sender, RoutedEventArgs e)
    {
        _index = _index == _clients.Count - 1 ? 0 : _index + 1;
        txtSelectedName.Text = _clients[_index].Name;
    } 

public主窗口()
{
初始化组件();
DataContext=新的MainWindowViewModel();
}
公共类MainWindowViewModel:INotifyPropertyChanged
{
公共事件属性更改事件处理程序属性更改;
私人名单客户;
私有整数指数;
公共主窗口视图模型()
{
_clients=GetClients();
_指数=0;
SelectedName=\u客户端[\u索引].Name;
}
受保护的void OnPropertyChange(字符串propertyName)
{
if(PropertyChanged!=null)
PropertyChanged(这是新的PropertyChangedEventArgs(propertyName));
}
公共列表GetClients()
{
列表客户端=新列表();
clients.Add(新客户端()
{
Name=“Name1”,
});
clients.Add(新客户端()
{
Name=“Name2”,
});
返回客户;
}
私有字符串\u selectedName;
公共字符串SelectedName
{
获取{return\u selectedName;}
设置
{
如果(_selectedName!=值)
{
_selectedName=值;
OnPropertyChange(“SelectedName”);
}
}
}
私人关系司令部下一步;
公共关系司令部
{
得到
{
返回_next??(_next=newrelaycommand(param=>this.SetNextName());
}
}
私有void SetNextName()
{
_index=\u index=\u clients.Count-1?0:\u index+1;
SelectedName=\u客户端[\u索引].Name;
}
私人中继通信(private RelayCommand);;
公共关系社区
{
得到
{
返回_previousName??(_previous=new RelayCommand(param=>this.SetPreviousName());
}
}
私有void SetPreviousName()
{
_index=\u index==0?\u clients.Count-1:\u index-1;
SelectedName=\u客户端[\u索引].Name;
}
}
公共类中继命令:ICommand
{
私人行动——执行;
私有谓词_canexecute;
public RelayCommand(Action execute):这个(execute,null){}
公共RelayCommand(操作执行,谓词canExecute)
{
if(execute==null)
抛出新的ArgumentException(“执行”);
_执行=执行;
_canexecute=canexecute;
}
public void Execute(对象参数)
{
_执行(参数);
}
公共布尔CanExecute(对象参数)
{
返回_canexecute==null | | | u canexecute(参数);
}
公共事件事件处理程序CanExecuteChanged
{
添加{CommandManager.RequerySuggested+=value;}
删除{CommandManager.RequerySuggested-=value;}
}
}

按如下方式创建XAML:

private void btnBack_Click(object sender, RoutedEventArgs e)
    {
        this._index -= 1;

        if (_index >= 0)
            txtMain.Text = this._clients[_index].Name;
        else
            this._index += 1;

    }

    private void btnNext_Click(object sender, RoutedEventArgs e)
    {
        this._index += 1;

        if (_index < this._clients.Count)
            txtMain.Text = this._clients[_index].Name;
        else
            this._index -= 1;
    }
    private int _index = 0;

    public MainWindow()
    {
        InitializeComponent();
        _clients = GetClients();
        txtSelectedName.Text = _clients[_index].Name;

    }
    private void btnPrevious_Click(object sender, RoutedEventArgs e)
    {
        _index = _index == 0 ? _clients.Count - 1 : _index - 1;
        txtSelectedName.Text = _clients[_index].Name;
    }

    private void btnNext_Click(object sender, RoutedEventArgs e)
    {
        _index = _index == _clients.Count - 1 ? 0 : _index + 1;
        txtSelectedName.Text = _clients[_index].Name;
    } 
但是,如果这是一个严肃的应用程序,并且随着时间的推移,应用程序的范围变得越来越复杂,那么您可能希望使用MVVM模式,如下所示:

private void btnBack_Click(object sender, RoutedEventArgs e)
    {
        this._index -= 1;

        if (_index >= 0)
            txtMain.Text = this._clients[_index].Name;
        else
            this._index += 1;

    }

    private void btnNext_Click(object sender, RoutedEventArgs e)
    {
        this._index += 1;

        if (_index < this._clients.Count)
            txtMain.Text = this._clients[_index].Name;
        else
            this._index -= 1;
    }
    private int _index = 0;

    public MainWindow()
    {
        InitializeComponent();
        _clients = GetClients();
        txtSelectedName.Text = _clients[_index].Name;

    }
    private void btnPrevious_Click(object sender, RoutedEventArgs e)
    {
        _index = _index == 0 ? _clients.Count - 1 : _index - 1;
        txtSelectedName.Text = _clients[_index].Name;
    }

    private void btnNext_Click(object sender, RoutedEventArgs e)
    {
        _index = _index == _clients.Count - 1 ? 0 : _index + 1;
        txtSelectedName.Text = _clients[_index].Name;
    } 

public主窗口()
{
初始化组件();
DataContext=新的MainWindowViewModel();
}
公共类MainWindowViewModel:INotifyPropertyChanged
{
公共事件属性更改事件处理程序属性更改;
私人名单客户;
私有整数指数;
公共主窗口视图模型()
{
_clients=GetClients();
_指数=0;
SelectedName=\u客户端[\u索引].Name;
}
受保护的void OnPropertyChange(字符串propertyName)
{
if(PropertyChanged!=null)
PropertyChanged(此,新PropertyChangedEventArgs(propertyN