这是一个简单的静态 FastAPI 应用程序。通过此设置,即使根路径预计返回 a FileResponse,custom.html应用程序仍会返回index.html。如何让根路径工作并渲染custom.html?
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
from fastapi.responses import FileResponse
app = FastAPI()
app.mount(
"/",
StaticFiles(directory="static", html=True),
name="static",
)
@app.get("/")
async def index() -> FileResponse:
return FileResponse("custom.html", media_type="html")
Run Code Online (Sandbox Code Playgroud) 下面是我的 ComboBox 样式代码。想法是在 ComboBox 周围放置边框并重用该样式。
<Application x:Class="WpfApplication1.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="Window1.xaml">
<Application.Resources>
<Style x:Key="UserInputComboBoxStyle"
TargetType="{x:Type ComboBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ComboBox}">
<Grid>
<Border BorderBrush="Black"
BorderThickness="2"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch" />
<ComboBox HorizontalAlignment="Stretch"
VerticalAlignment="Center"
HorizontalContentAlignment="Left"
VerticalContentAlignment="Center"
Margin="5">
</ComboBox>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Application.Resources>
</Application>
Run Code Online (Sandbox Code Playgroud)
但是,应用此样式后,在生成的组合框中,组合框项目不会显示。
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="ComboBoxTest"
Height="300"
Width="300">
<StackPanel>
<ComboBox Margin="5"
Style="{StaticResource UserInputComboBoxStyle}">
<ComboBoxItem Content="Test0"
IsSelected="True" />
<ComboBoxItem Content="Test1" />
<ComboBoxItem Content="Test2" />
</ComboBox>
</StackPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)
为什么组合框项目不显示?
编辑:
最终解决了这个问题,但仍然想知道如何使用最少的 XAML 代码来完成此操作。
<Grid>
<Border BorderBrush="Black"
BorderThickness="2"
CornerRadius="5">
<ComboBox SelectedIndex="0" …Run Code Online (Sandbox Code Playgroud) 我正在尝试为DataColumn设置默认值.如何为以下代码设置DataColumn(column3)的默认值
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[] {
new DataColumn("Column1", typeof(String)),
new DataColumn("Column2", typeof(String)),
new DataColumn("Column3", typeof(String)),
});
string csvData = File.ReadAllText(csvPath);
foreach (string row in csvData.Split('\n'))
{
if (!string.IsNullOrEmpty(row))
{
dt.Rows.Add();
int i = 0;
foreach (string cell in row.Split(','))
{
dt.Rows[dt.Rows.Count - 1][i] = cell;
i++;
}
}
}
Run Code Online (Sandbox Code Playgroud) 我第一次使用panda时遇到了困难
我有一个数据框,在单独的列中包含年、月、日和小时。
据我所知,这个数据框没有被索引。
我正在尝试为此数据框创建日期时间索引:
def createTimeStamp(year, month, day, hour):
return DatetimeIndex(datetime(.........))
df['TimeStamp'] = df.apply(createTimeStamp(df['year'], df['month'], df['day'], df['hour']))
df.set_index('TimeStamp')
Run Code Online (Sandbox Code Playgroud)
我做错了什么?
我有以下列表:
alist = [['color1'],
['clr1', '361', '0'],
['clr2', '1', '0'],
['clr3', '77', '0'],
['clr4', '660', '73'],
['color2'],
['clr1', '201', '0'],
['clr2', '25', '0'],
['clr3', '312', '73'],
['clr4', '132', '314']]
Run Code Online (Sandbox Code Playgroud)
我需要将列表拆分成较小的列表.该列表包含列表.如果长度为1的列表中有一个元素(列表),它是拆分列表的起点,停止点是长度为1的列表中的另一个元素.拆分后,将其移动到名为nlist的列表中.到目前为止,我编写了以下代码:
idx = [i for i,x in enumerate(alist) if len(x) ==1]
idx.append(len(alist))
nlist = []
for i in range(0, len(idx)-1):
nlist.append(alist[idx[i]:idx[i+1]])
Run Code Online (Sandbox Code Playgroud)
它确实产生了如下所需的结果:
nlist = [[['color1'],
['clr1', '361', '0'],
['clr2', '1', '0'],
['clr3', '77', '0'],
['clr4', '660', '73']],
[['color2'],
['clr1', '201', '0'],
['clr2', '25', '0'],
['clr3', '312', '73'],
['clr4', '132', '314']]]
Run Code Online (Sandbox Code Playgroud)
有更多的pythonic方法吗?
我是.Net和C#的新手,对绑定有点困惑.我有应用程序实现MVVM并显示DataGrid.我想要实现的是当用户按下某个键组合时,当前所选单元格的内容被复制到下面行中的单元格.我已经尝试将DataGrid的SelectedItem绑定到ViewModel属性,但它永远不会更新.CommandParameter也不起作用,项目计数始终为0.因此我无法提取用户选择的单元格,也无法读取所选单元格的内容.有没有人有如何解决这个问题或实现这个功能的建议?提前致谢.代码:xaml:
<DataGrid Grid.Row="1"
Grid.Column="0"
Grid.ColumnSpan="9"
AutoGenerateColumns="False"
Height="Auto"
HorizontalAlignment="Left"
Name="dataGrid"
VerticalAlignment="Top"
Width="{Binding ElementName=grid4,Path=Width}"
ScrollViewer.CanContentScroll="False"
FrozenColumnCount="1"
SelectionUnit="Cell"
SelectionMode="Extended"
CanUserSortColumns = "False"
CanUserReorderColumns="False"
CanUserResizeRows="False"
RowHeight="25"
RowBackground="LightGray"
AlternatingRowBackground="White"
ScrollViewer.VerticalScrollBarVisibility="Visible"
ScrollViewer.HorizontalScrollBarVisibility="Visible"
ItemsSource="{Binding Layers, Mode=TwoWay}"
SelectedItem="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}, Path=DataContext.Selection, Mode=TwoWay}">
<DataGrid.InputBindings>
<KeyBinding Gesture="Shift"
Command="{Binding ItemHandler}"
CommandParameter="{Binding ElementName=dataGrid, Path=SelectedItems}">
</KeyBinding>
</DataGrid.InputBindings>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)
视图模型:
private float _selection = 0.0f;
public float Selection
{
get
{
return _selection;
}
set
{
if (_selection != value)
{
_selection = value;
NotifyPropertyChanged("Selection");
}
}
}
Run Code Online (Sandbox Code Playgroud)
...
public DelegateCommand<IList> SelectionChangedCommand …Run Code Online (Sandbox Code Playgroud) python ×3
.net-4.0 ×1
binding ×1
c# ×1
combobox ×1
datacolumn ×1
datatable ×1
datetime ×1
fastapi ×1
fileresponse ×1
mvvm ×1
pandas ×1
selecteditem ×1
starlette ×1
static-files ×1
styles ×1
wpf ×1
wpfdatagrid ×1