csharp-dataTemplate
DataGrid: CellTemplate
ListBox/ComboBox/TreeView: ItemTemplate
UserControl: ContentTemplate
listbox
<Window.Resources> |
DataGrid: CellTemplate
ListBox/ComboBox/TreeView: ItemTemplate
UserControl: ContentTemplate
<Window.Resources> |
在资源里面定义 style 可以在控件中引用。
如果控件中有指定的样式,则覆盖资源定义的 style
资源样式支持继承。
<Window.Resources> |
可以通过触发器动态改变样式
<Style x:Key="btnStyleBase" TargetType="Button"> |
<MultiTrigger> |
<Window.Resources> |
TreeViewItem
绑定 TreeView 到数据结构,使用适当的模板渲染内容。
<TreeView Name="treeView" Padding="0" Margin="5 5 0 5" Loaded="treeView_Loaded"> |
需要在控件的 Loaded 事件里面处理
private void ExpandTree() |
在 xaml 里面添加事件,对应的 cs 文件里面会添加映射函数
<TreeView Name="treeView" Padding="0" Margin="5 5 0 5" Loaded="treeView_Loaded" SelectedItemChanged="treeView_SelectedItemChanged"> |
设置需要选择的项目的 IsSelected 为 true 就可以了
// xaml |
<TreeView Name="treeView" Padding="0" Margin="5 5 0 5" Loaded="treeView_Loaded" |
When you define a column in a WPF grid you can set the width to one of three possible values:
The * is prefixed by a number (default is 1 if no number is specified). The available space is divided among the starred columns in proportion to the prefix number.
<Grid.ColumnDefinitions> |
注意加载数据需要在 Loaded 事件里面。因为表格还没加载完毕时是无法显示数据的。
更新完 dg.ItemsSource 对应的 List 之后,表格会自动更新,增加和删除都可以
根据数据源字段自动生成列
<Grid Margin="10"> |
通过 共享内存 和其他进程通信
try: |
安装
pip3 install pynng |
使用样例
from pynng import Pair0 |
发送的数据中有中文
pyd 相当于 dll。好处多多
装了 nuitka 之后,这个简单,这个在使用 winpython 的时候,调用失败了。使用下面的 cython 就可以。
nuitka --mingw64 --module --show-progress --output-dir=o 你的.py |
pip install Cython |
根据实际情况修改内容,下面的 language 是支持 python3
from distutils.core import setup |
python setup.py build_ext --inplace |
我这边这样就出结果了。 没遇到任何问题,改名为 main.pyd
生成了 main.cp38-win_amd64.pyd 文件
注意 win7 需要 Windows6.1-KB2533623-x64.msu 补丁
查看当前路径
# python 环境下 |
pyd 文件搜索路径
set PYTHONPATH = 路径
path 里面添加 dll 路径
tkArcTool\Library\bin
注意系统需要先确认一下 3.8.3 安装版能否正常安装,我虚拟机的win7版本过于老旧,缺少补丁包,导致socket dll 加载总是失败。问题找了好久。
我装的 windows 版本 提示缺少 KB2533623 补丁包
添加搜索路径,去掉 import site 前面的注释
python38.zip |
进入目录里面,执行 python,进入终端,以下操作都在该终端内执行
pip site
下载 get-pip.py 网页另存为比较快
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py |
python get-pip.py --no-setuptools --no-wheel |
Scripts\pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple |
然后拷贝到目标机就可以使用了。
python -m pip uninstall pip setuptools wheel |
从虚拟环境中复制下面文件夹和文件
tcl
Lib/tkinter
DLLs/_tkinter.pyd, tcl86t.dll, tk86t.dll
主要问题就是设置搜索路径,让 python 找到库和 dll
set PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;./Library/bin;./Dlls;./tcl;./Scripts;./libs;./Lib;
tcl folder to embedded_distribution_folder\ (root folder of the embedded distribution) |