第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

我可以在 xaml 代碼中禁用 WPF 組合框的第一項(xiàng)嗎?

我可以在 xaml 代碼中禁用 WPF 組合框的第一項(xiàng)嗎?

C#
胡子哥哥 2022-12-31 14:01:59
考慮以下組合框:<ComboBox ItemsSource="{Binding Presets.VolumePresetList}" SelectedIndex="{Binding VolumePresetSelectedIndex, UpdateSourceTrigger=PropertyChanged}" Margin="10, 10" HorizontalAlignment="Left"            MinWidth="150">    <ComboBox.ItemTemplate>        <DataTemplate>            <TextBox Text="{Binding PresetName, UpdateSourceTrigger=Explicit}" VerticalAlignment="Center" Height="20" BorderThickness="0" LostFocus="TextBox_LostFocus" KeyUp="TextBox_KeyUp"/>        </DataTemplate>    </ComboBox.ItemTemplate></ComboBox>組合框的第一個(gè)項(xiàng)目是默認(rèn)預(yù)設(shè),在文本框中具有相應(yīng)的默認(rèn)名稱。因此,用戶不應(yīng)該能夠?qū)Φ谝豁?xiàng)進(jìn)行輸入 - 因此我想禁用第一項(xiàng)的文本框。我知道我可以在包含類或視圖模型的構(gòu)造函數(shù)中運(yùn)行一個(gè)函數(shù),它會禁用第一個(gè)索引上的文本框,但是我想知道這是否可以直接在 xaml 代碼中實(shí)現(xiàn)(我會發(fā)現(xiàn)它更優(yōu)雅做這種靜態(tài)事情的方式)。
查看完整描述

2 回答

?
慕的地10843

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊

您可以利用PreviousData RelativeSource 將為null集合的第一個(gè)元素返回這一事實(shí)。知道您可以將DataTrigger添加到 DataTemplate 以將其IsEnabled屬性設(shè)置TextBox為 false。


這是ItemTemplate帶有PreviousData綁定的簡化版本:


       <ComboBox.ItemTemplate>

            <DataTemplate>

                <TextBox x:Name="TextBox" />

                <DataTemplate.Triggers>

                    <DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=PreviousData}}"

                                 Value="{x:Null}">

                        <Setter TargetName="TextBox" Property="IsEnabled" Value="False" />

                    </DataTrigger>

                </DataTemplate.Triggers>

            </DataTemplate>

        </ComboBox.ItemTemplate>


查看完整回答
反對 回復(fù) 2022-12-31
?
www說

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個(gè)贊

我用DataBindingfor創(chuàng)建了一個(gè)復(fù)合集合,ListView但邏輯是一樣的:


<ListView SelectedValue="{Binding youVMPropertyHere}">

    <ListView.ItemsSource>

        <CompositeCollection>

            <ListViewItem IsHitTestVisible="False">Default Item</ListViewItem>

            <CollectionContainer Collection="{Binding Source={StaticResource cvsPresetLists}}"/>

        </CompositeCollection>

    </ListView.ItemsSource>

<!-- Where-->

<Window.Resources>

    <CollectionViewSource Source="{Binding Presets.VolumePresetList}" x:Key="cvsPresetLists"/>

</Window.Resources>  

這樣你就可以讓第一個(gè)項(xiàng)目不可選。我也會使用SelectedValue而不是SelectedIndex.


查看完整回答
反對 回復(fù) 2022-12-31
  • 2 回答
  • 0 關(guān)注
  • 85 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號