刚刚学WPF,遇到的如下问题
数据库数据为
id  1
name 张三
sex 0
在页面显示时,怎样能做到当sex=1时显示男,为0时显示女,希望给源码
先谢谢各位大虾了

解决方案 »

  1.   

    做WPF开发时,最好遵循UI和业务分离的方式,例如:
    1、确定数据模型
    2、确定业务逻辑
    3、UI显示由于WPF做UI太灵活了,所以一定要记住,不变的是你的数据和行为,变化的是UI,所以说,在WPF中,一般不会出现在代码创建UI的情况。通常使用数据绑定,样式,控件模板来处理UI。例如:
    1、数据模型
    public class UserInfo
    {
        public UserInfo(int id , string name , int sex)
        {
            this.Id = id;
            this.Name = name;
            this.Sex = (sex == 0) ? "女":"男";        
        }    public int Id {get;set;}
        public string  Name {get;set;}
        public string Sex{get;set;}
    }2、业务逻辑(略)3、在UI上通过绑定来显示数据
      

  2.   

    dqdan 你好,我开始也是这样子做的,但是我有另外一个问题,就是我想在DataGrid中加入编辑链接,和删除链接,其中编辑链接是跳转到另一个页面的,整个要怎么做呢,我刚刚学wpf,今天在百度上找了下,都是用
    <DataGridTemplateColumn Header="">                 <DataGridTemplateColumn.CellTemplate>                     
    <DataTemplate >
    但是我自己的电脑上
    <DataGridTemplateColumn.CellTemplate> 这个点不出
    只能点出
    <dg:VisualStateBehavior.VisualStateBehavior>
      

  3.   

    能给我个wpf 浏览器应用程序的小项目的源码吗?只要一个人员信息的列表页面和编辑页面就可以了
    如果谁给我个项目实例,在追加分,谢谢各位大虾了
      

  4.   

    帮你做了个简单的,数据模型只有一个Name,你可以自己增加。
    代码分两部分,一部分是Xaml,一部分为后台代码
    XAML代码:<Window x:Class="DataGridSample.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525">
        <Grid>
            <DataGrid ItemsSource="{Binding TestData}" AutoGenerateColumns="False">
                <DataGrid.Columns>
                    <DataGridTextColumn Header="名称" Binding="{Binding Path=Name}"/>
                    <DataGridTemplateColumn Header="操作">
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <TextBlock>
                                    <Hyperlink Click="Hyperlink_Click">编辑</Hyperlink>
                                    <Hyperlink Click="Hyperlink_Click_1">删除</Hyperlink>
                                </TextBlock>
                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>
                </DataGrid.Columns>
            </DataGrid>
        </Grid>
    </Window>
      

  5.   

    后台代码:
        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();            this.DataContext = this;
            }        private List<MyData> m_data = null;
            public List<MyData> TestData
            {
                get
                {
                    if (this.m_data == null)
                    {
                        this.m_data = new List<MyData>();
                        for (int index = 0; index < 100; index++)
                        {
                            this.m_data.Add(new MyData()
                            {
                                Name = string.Format("Item{0}",index.ToString())
                            });
                        }
                    }
                    return this.m_data;
                }
            }        private void Hyperlink_Click(object sender, RoutedEventArgs e)
            {
                MessageBox.Show("编辑");
            }        private void Hyperlink_Click_1(object sender, RoutedEventArgs e)
            {
                MessageBox.Show("删除");
            }
        }    public class MyData
        {
            public string Name
            {
                get;
                set;
            }
        }
    }
      

  6.   

    谢谢 dqdan
    以后如果有问题继续向你请教哈