简体   繁体   English

如果声明按钮内容。 WPF

[英]If statment on button content . WPF

i have listview one button( default content == "Add") and 1 textbox.我有 listview 一个按钮(默认内容 ==“添加”)和 1 个文本框。 On list view double click event buttons.Content=="Edit" and text box fills with information from listview.在列表视图中双击事件按钮。Content=="Edit" 和文本框填充来自列表视图的信息。

this if statment does not work correctly这个 if 语句不能正常工作

            if (btnAddFloor.Content == "Add")
            {
                HProDataContext db = new HProDataContext();
                floor f = new floor { floorname = txtFloorName.Text };
                db.floors.InsertOnSubmit(f);
                db.SubmitChanges();
                RefreshListViewFloor();
            }
            else
            {
                int currentID = Convert.ToInt32(listViewFloors.SelectedValue);

                HProDataContext db = new HProDataContext();
                floor f = db.floors.Single(p => p.id == currentID);
                f.floorname = txtFloorName.Text;
                db.SubmitChanges();
                RefreshListViewFloor();
                txtFloorName.Text = null;
                RefreshListViewRoom();
            }

and on btnAddFloor.Content == "Add" is green underline can anyone help me?并且在 btnAddFloor.Content == "Add" 上是绿色下划线有人可以帮助我吗?

XAML XAML

    <GroupBox Header="Floors" Height="287" HorizontalAlignment="Left" Margin="12,32,0,0" Name="GroupBoxFloors" VerticalAlignment="Top" Width="342">
        <Grid>
            <Button Content="Add" Height="23" HorizontalAlignment="Left" Margin="169,37,0,0" Name="btnAddFloor" VerticalAlignment="Top" Width="75" Click="btnAddFloor_Click" />
            <ListView Height="192" HorizontalAlignment="Left" Margin="6,66,0,0" Name="listViewFloors" VerticalAlignment="Top" Width="318" ItemsSource="{Binding FloorCollection}" SelectedValuePath="ID" MouseDoubleClick="listViewFloors_MouseDoubleClick">
                <ListView.View >
                    <GridView>
                        <GridViewColumn Header="ID" Width="60" DisplayMemberBinding="{Binding ID}"/>
                        <GridViewColumn Header="FloorName" Width="200" DisplayMemberBinding="{Binding FloorName}"/>

                    </GridView>
                </ListView.View>
            </ListView>
            <TextBox Height="23" HorizontalAlignment="Left" Margin="6,37,0,0" Name="txtFloorName" VerticalAlignment="Top" Width="157" TextChanged="txtFloorName_TextChanged" />
            <Button Content="Remove" Height="23" HorizontalAlignment="Left" Margin="249,37,0,0" Name="btnRemoveFloor" VerticalAlignment="Top" Width="75" Click="btnRemoveFloor_Click" />
            <Label Content="Floor Name" Height="28" HorizontalAlignment="Left" Margin="6,6,0,0" Name="label1" VerticalAlignment="Top" />
        </Grid>
    </GroupBox>

Button.Content is of type Object, using the "==" operator will compare pointers. Button.Content 的类型为 Object,使用“==”运算符将比较指针。 What you want to do is:你想做的是:

btnAddFloor.Content.ToString() == "Add" btnAddFloor.Content.ToString() == "添加"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM