亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

綁定在 Mvvm wpf 和 controltab 中不起作用

綁定在 Mvvm wpf 和 controltab 中不起作用

C#
陪伴而非守候 2023-09-24 11:20:48
您好,錯誤是第一次初始化我的選項卡,綁定工作,但是當我想更改 tabHeader 的值時,綁定不起作用。當我選擇一個選項卡后,我想顯示該按鈕并隱藏所有未選擇的選項卡的按鈕,主頁.xaml<TabControl TabStripPlacement="Top" ItemsSource="{Binding Tabs, Mode=TwoWay}" x:Name="ParentTab" SelectedItem="{Binding SelectedTab, Mode=TwoWay}">   <TabControl.ItemTemplate>      <DataTemplate>         <StackPanel Width="Auto" Orientation="Horizontal">            <TextBox Text="{Binding Guid, Mode=TwoWay}" Height="1" Width="1" Visibility="Hidden"></TextBox>            <Image Source="{Binding HeaderImg,  Mode=TwoWay}" Height="20" Width="20"/>            <Label Content="{Binding HeaderSrt, Mode=TwoWay}" Height="Auto" Width="Auto"/>            <Button Visibility="{Binding IsEnable, Mode=TwoWay}" Content="X" Height="Auto" Width="Auto" Command="{Binding DataContext.Cmd_CloseTab,ElementName=ParentTab}"/>         </StackPanel>      </DataTemplate>   </TabControl.ItemTemplate>   <TabControl.ContentTemplate>      <DataTemplate>         <ContentControl Content="{Binding Content}" />      </DataTemplate>   </TabControl.ContentTemplate></TabControl>在 HomeViewModel.cs 中public sealed class TabItem{   public string HeaderImg { get; set; }   public string HeaderSrt { get; set; }   public string Guid { get; set; }   public Visibility IsEnable { get; set; }   public ViewModelBase Content { get; set; }}public class AccueilViewModel : ViewModelBase{   private TabItem m_SelectedTab;   private ObservableCollection<TabItem> m_Tabs;   public ICommand Cmd_CloseTab { get; set; }   public ObservableCollection<TabItem> Tabs{      get{ return m_Tabs; }      set{ m_Tabs = value; RaisePropertyChanged("Tabs"); }   }   public TabItem SelectedTab{      get{ return m_SelectedTab; }      set{         m_SelectedTab = value;         m_SelectedTab.IsEnable = Visibility.Visible;         ActivateBtnClose();  // The binding don't work         RaisePropertyChanged("SelectedTab");         RaisePropertyChanged("Tabs");         }      }
查看完整描述

2 回答

?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

更改TabItem為:


public sealed class TabItem : ViewModelBase

{

    private string _headerImg;

    private string _headerSrt { get; set; }

    private string _guid { get; set; }

    private Visibility _isEnable { get; set; }

    private ViewModelBase _content { get; set; }


    public string HeaderImg

    {

        get { return _headerImg; }

        set

        {

            _headerImg = value;

            RaisePropertyChanged("HeaderImg");

        }

    }


    // Set the properties for the other fields as above

}


查看完整回答
反對 回復 2023-09-24
?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

答案是:


public sealed class TabItem: ViewModelBase

{


    public string HeaderImg { get; set; }

    public string HeaderSrt { get; set; }

    public string Guid { get; set; }


    //public bool IsEnable { get; set; }

    public ViewModelBase Content { get; set; }


    private Visibility _MessageVisibilty;

    public Visibility MessageVisibilty

    {

        get { return _MessageVisibilty; }

        set {

            _MessageVisibilty = value;

            RaisePropertyChanged("MessageVisibilty");}

    }

}


查看完整回答
反對 回復 2023-09-24
  • 2 回答
  • 0 關注
  • 190 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號