我是 WPF 新手,尝试执行以下操作:
我有一个 ListView 和一个使用 ViewModel 的 ItemsSource 。里面有一个带有Columns的GridView。每列代表视图模型的一个预操作性。但描述是可选的并且可能相当长。所以我想使用扩展器。我的问题是,我只能管理扩展器与名称列一样大。但我希望扩展器与整行一样大。这里有两张图片来澄清我想要什么。
我当前的状态: https: //i.stack.imgur.com/ZNA4v.png
我想要实现的目标: https://i.stack.imgur.com/ZmFq1.png
我尝试“对 GridView 进行分组”但没有成功......请参见此处 http://technico.qnownow.com/grouping-gridview-wpf/
这是我的代码
<Window ...>
<Window.Resources>
...
</Window.Resources>
<DockPanel>
<StackPanel DockPanel.Dock="Top">
...
</StackPanel>
<Grid>
<ListView Grid.RowSpan="4" DockPanel.Dock="Top" Margin="10" ItemsSource="{Binding MyView}">
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="BorderBrush" Value="Black"></Setter>
<Setter Property="BorderThickness" Value="0,0,0,1"></Setter>
<Setter Property="Focusable" Value="False" />
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="VerticalAlignment" Value="Top"></Setter>
<Setter Property="VerticalContentAlignment" Value="Top"></Setter>
</Style>
</ListView.ItemContainerStyle>
<!-- New GridView -->
<ListView.View>
<GridView>
<!--Number-->
<GridViewColumn Header="#">
<GridViewColumn.CellTemplate>
<DataTemplate DataType="viewModel:MyViewModel">
<TextBlock …Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我将 gridview.count 放在列小部件中,但 gridview.count 不会滚动并在底部溢出,因此请给出一些建议
\n这是我的代码
\n @override\n Widget build(BuildContext context) {\n return Stack(\n children: <Widget>[\n Image.asset(\n "images/background.png",\n height: MediaQuery.of(context).size.height,\n width: MediaQuery.of(context).size.width,\n fit: BoxFit.fill,\n ),\n Scaffold(\n backgroundColor: Color(0x00000000),\n body: Center(\n child: Column(\n mainAxisAlignment: MainAxisAlignment.start,\n crossAxisAlignment: CrossAxisAlignment.center,\n children: <Widget>[\n Container(\n child: Padding(\n padding: EdgeInsets.only(top: 50,bottom: 10),\n child: Row(\n children: <Widget>[\n Spacer(flex: 2),\n Text(\n \'Interests\',\n textAlign: TextAlign.center,\n overflow: TextOverflow.ellipsis,\n maxLines: 1,\n style: TextStyle(\n color: Color(0xFF0066CB),\n fontSize: 20.0,\n ),\n ),\n Spacer(),\n Expanded(\n child:SvgPicture.asset(\n "images/vector.svg",\n height: 30.0,\n width: 30.0,\n ),\n )\n ],\n ),\n …Run Code Online (Sandbox Code Playgroud) 我有用于选择和取消选择照片的复选框。每次点击都有一个可见的加载屏幕。
_mediaList有照片资产。mediaModel有必要的方法来分别添加和删除选定和取消选定照片的路径。
Widget build(BuildContext context) {
super.build(context);
return GridView.builder(
itemCount: _mediaList.length,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 3, mainAxisSpacing: 4.0, crossAxisSpacing: 4.0),
itemBuilder: (BuildContext context, int index) {
final saved = mediaModel.getMedia().contains(
_mediaList[index].relativePath + '/' + _mediaList[index].title);
return FutureBuilder(
future: _mediaList[index].thumbDataWithSize(200, 200),
builder: (BuildContext context, snapshot) => snapshot.hasData
? GridTile(
header: saved
? Icon(Icons.check_circle, color: Colors.white,)
: Icon(Icons.check_circle_outline, color: Colors.white,),
child: GestureDetector(
child: Image.memory(
snapshot.data,
fit: BoxFit.cover,
),
onTap: () => setState(() => saved
? mediaModel.removeMedia(
_mediaList[index].relativePath +
'/' + …Run Code Online (Sandbox Code Playgroud) 我的代码:::
@Composable
fun VerticalImageCards(toolsList: List<HealthTool>) {
val domainName = stringResource(id = R.string.media_url)
FlowRow(mainAxisSpacing = 8.dp,
crossAxisSpacing = 16.dp,
modifier = Modifier
.fillMaxWidth()
.padding(vertical = 16.dp),
mainAxisSize = SizeMode.Wrap) {
for (i in toolsList) {
val imgUrl = "$domainName${i.url}"
ToolsCardLayout(cardTitle = i.title, imgUrl = imgUrl)
}
}
}
Run Code Online (Sandbox Code Playgroud)
@Composable
fun ToolsCardLayout(
imgUrl: String,
cardTitle: String,
) {
Box(modifier = Modifier.clickable {}) {
AsyncImage(model = imgUrl,
contentDescription = null,
contentScale = ContentScale.Crop,
modifier = Modifier.fillMaxWidth())
Box(modifier = Modifier
.size(32.dp)
.align(Alignment.TopEnd)) {
Image(painter …Run Code Online (Sandbox Code Playgroud) gridview android-layout android-jetpack android-jetpack-compose
不知道为什么会发生这种情况但是当我尝试将我的gridview文本包装在mailto标签中时,我得到了Identifier期望的错误.
if (GVStatus == "Team")
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[0].Visible = false;
e.Row.Cells[5].Visible = false;
e.Row.Cells[9].Visible = false;
string emailAddy = e.Row.Cells.[8].Text;
string strEM = "<a href='mailto:"+ emailAddy +"</a>";
e.Row.Cells.[8].Text = strEM;
e.Row.Cells[10].Visible = false;
}
}
Run Code Online (Sandbox Code Playgroud)
gridview是动态的
我有模型博客,我在那里有关系:
public function getRelUser()
{
return $this->hasOne(UrUser::className(), ['Id' => 'Rel_User']);
}
Run Code Online (Sandbox Code Playgroud)
我想在 gridView 的 blogView 索引中使用 fullName:
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'Id',
'Title',
'Description',
'Rel_User',
[
'attribute' => 'Rel_User',
'value' => 'relUser.Name'
],
'CreatedAt',
// 'IsDeleted',
['class' => 'yii\grid\ActionColumn'],
],
]); ?>
Run Code Online (Sandbox Code Playgroud)
这在列中只返回我的名字。我想返回全名。
我试图从api创建一个电影应用程序,但首先我做了一些假数据,以确保我的适配器工作正常所以我使用gridview制作我自己的适配器和片段中的一些数据我搜索了很多但我不能解决这个问题在我的自己的代码,提前谢谢.
MainActivity.java
package besho.hallofmovies;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MovieFragment movieFragment = new MovieFragment();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.add(R.id.main_activity,movieFragment,"movieFragment");
transaction.commit();
}
}
Run Code Online (Sandbox Code Playgroud)
MovieFragment.java
package besho.hallofmovies;
import android.app.Fragment;
import android.app.ListFragment;
import android.content.Context;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import java.lang.reflect.Array;
import java.util.ArrayList;
public class …Run Code Online (Sandbox Code Playgroud) 我有两列,如何动态添加一个或两个控件...每次创建一行...
我还想通过迭代动态创建列.
我如何实现这一目标?
如果用户在数据库中显示的文本框中插入值,则显示到gridview(在网格视图中显示)否则在c#中显示错误消息.如果成功找到则显示else显示在文本框中插入时找不到数据.....我输入图像描述在这里