WPF ListBox的高階使用(一)

2021-10-02 04:33:52 字數 2799 閱讀 2296

公司專案有個需求,ui介面支援動態平均分割介面,想了想便想到用listbox來實現,用uniformgrid作為listbox的itemspaneltemplate,通過動態改變uniformgrid的columns屬性,可以動態分割介面。具體實現如下所示:

<

window x:class=

"wpfdemo.mainwindow"

xmlns=

""xmlns:x=

""xmlns:comm=

"clr-namespace:wpfdemo.commoncontrols;assembly=wpfdemo.commoncontrols"

xmlns:local=

"clr-namespace:wpfdemo"

title=

"mainwindow" height=

"350" width=

"525"

>

<

listbox itemssource=

"">

<

uniformgrid columns=

"" isitemshost=

"true"

/>

<

/itemspaneltemplate>

<

/listbox.itemspanel>

<

style targettype=

"">

<

setter property=

"template"

>

<

controltemplate targettype=

"">

<

border horizontalalignment=

"stretch" verticalalignment=

"stretch" background=

"green" borderbrush=

"yellow" borderthickness=

"1">

<

textblock text=

"" horizontalalignment=

"center" verticalalignment=

"center"

/>

<

/border>

<

/controltemplate>

<

/setter.value>

<

/setter>

<

/style>

<

/listbox.itemcontainerstyle>

<

/listbox>

<

/grid>

<

/window>

對應的viewmodel層**:

using system;

using system.collections.generic;

using system.componentmodel;

using system.linq;

using system.runtime.compilerservices;

using system.text;

using system.threading.tasks;

namespace wpfdemo

protected

void

onpropertychanged([

callermembername

]string propertyname =

null)}

public

event

propertychangedeventhandler propertychanged;

}}

using system;

using system.collections.generic;

using system.collections.objectmodel;

using system.linq;

using system.text;

using system.threading.tasks;

using system.windows.threading;

namespace wpfdemo

private

int count =0;

void

timer_tick

(object sender,

eventargs e)",

++count),}

; datasource.

add(temp)

; console.

writeline

(temp.cameraname);if

(count <=6)

else

if(count >

100)

}private

int colums;

public

int colums

set}

private observablecollection datasource;

public observablecollection datasource

set}

}}

軟體執行的效果:

vim的高階使用。

1.常用的ex命令有 w 儲存當前修改 q 在當前行下面插入新行 q 不儲存退出 x 儲存並退出,相當於 qw 執行系統命令 set number 顯示行號 在vim和shell間切換 sh 切換到命令列,ctrl d切換回vim 2.命令模式常用的命令 i 在當前游標處插入文字 o 在當前行下面插...

Tomcat的高階使用

1.虛擬目錄 unpackwars true autodeploy true 乙個虛擬個目錄,多個虛擬目錄 2.tomcat的體系結構 server tomcat容器 service 服務 connector 聯結器 engine 處理服務的請求並響應 host 虛擬主機 context 乙個web...

高階函式的使用

位元組跳動面試時問題 原函式例如fetchdata是乙個非同步函式,嘗試從伺服器端獲取一些資訊並返回乙個promise。寫乙個新的函式可以自動重試一定次數,並且在使用上和原函式沒有區別。這個問題其實不是很難,不過可能是太菜了緊張的原因,當時答得不是很好。不過思路還是很明確的,內部通過閉包來計數,一旦...