位置:首頁 > 軟件操作教程 > 編程開發(fā) > C# > 問題詳情

C# 數(shù)據(jù)綁定 綁定到本地對(duì)象

提問人:劉團(tuán)圓發(fā)布時(shí)間:2020-12-09

    可綁定到任何包含所需數(shù)據(jù)的.NET對(duì)象,只要編譯器能夠定位該對(duì)象即可。如果在使用對(duì)象的控件所在的上下文環(huán)境(即相同的XAML代碼塊)中可以找到該對(duì)象,就可通過設(shè)置綁定的ElementName屬性來指定綁定源。

請(qǐng)看對(duì)Options窗口中的ComboBox控件所做的更改:

    <ComboBox HorizontalAlignment="Left" Margin="196,58,0,0" VerticalAlignment="Top"

    Width="86" Name="numberOfPlayersComboBox" Selectedlndex="O"

    IsEnabled="{Binding ElementName=playAgainstComputerCheck, Path=IsChecked}" >

注意IsEnabled屬性。沒有指定tme或false值,而是使用了一長(zhǎng)串用花括號(hào)括起來的文本。這種指定屬性值的方法稱為“標(biāo)記擴(kuò)展語法”,也是一種用于指定屬性的便捷方法。還可以使用以下寫法:

        <ComboBox HorizontalAlignment="Left" Margin="196,58,0,0" 

VerticalAlignment="Top" Width="86" Name="numberOfPlayersComboBox"

SelectedIndex="0" >

          <ComboBox.IsEnabled>

            <Binding ElementName="playAgainstComputerCheck"

Path="IsChecked" />

          </ComboBox.IsEnabled>

    上面兩段示例代碼都可將綁定源設(shè)罝為playAgainstComputerCheck復(fù)選框a源屬性是通過Path指定的 IsChecked 屬性。

    綁定R標(biāo)被設(shè)置為IsEnabled屬性。兩段示例代碼都通過將綁定指定為該屬性的內(nèi)容來完成這種設(shè)置,只不過使用了兩種不同的語法而己。最后,由于在ComboBox上進(jìn)行綁定,因此也就隱式指定了綁定目標(biāo).

    這一綁定關(guān)系可以讓ComboBox的IsEnabled屬性隨著CheckBox的IsChecked屬性值自動(dòng)進(jìn)行設(shè)置或清除。結(jié)果,我們沒有使用任何代碼,就可以在用戶更改CheckBox的值時(shí)啟用和禁用ComboBox。

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部